js代码不兼容Firefox,怎么改?

adown 2008-09-12 10:55:29

<script>
var count=0;//做计数器
var limit=new Array();//用于记录当前显示的哪几个菜单
var countlimit=1;//同时打开菜单数目,可自定义
function expandIt(el) {
obj = eval("child" + el);
if (obj.style.display == "none") {
obj.style.display = "block";//显示子菜单
if (count<countlimit) {//限制2个
limit[count]=el;//录入数组
count++;
}
else {
eval("child" + limit[0]).style.display = "none";
for (i=0;i<limit.length-1;i++) {limit[i]=limit[i+1];}//数组去掉头一位,后面的往前挪一位
limit[limit.length-1]=el;
}
}
else {
obj.style.display = "none";
var j;
for (i=0;i<limit.length;i++) {if (limit[i]==el) j=i;}//获取当前点击的菜单在limit数组中的位置
for (i=j;i<limit.length-1;i++) {limit[i]=limit[i+1];}//j以后的数组全部往前挪一位
limit[limit.length-1]=null;//删除数组最后一位
count--;
}
}
</script>


上面这段折叠菜单的代码在IE中执行正常! 在firefox中没有效果,怎么改,大家帮忙下!谢谢
...全文
70 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
adown 2008-09-12
  • 打赏
  • 举报
回复
果然OK!千一网络能稍微的解释下吗? 马上揭贴给分!非常感谢! 弄好久啦
cgisir 2008-09-12
  • 打赏
  • 举报
回复

function expandIt(el) {
var obj = document.getElementById("child" + el);
if (obj.style.display == "none") {
...
}
cftea 2008-09-12
  • 打赏
  • 举报
回复
由于代码贴得不全,我只能猜测着整,你把 eval 全部换成 document.getElementById 试下。

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧