为了账号安全,请及时绑定邮箱和手机立即绑定

关于循环的问题

  oLis[i].onclick = function() {

                     for(var i= 0;i<oLis.length;i++){

                         oLis[i].className = "";

                         oDivs[i].className = "hide";

oLis[i].index = i;

                     }

                     this.className = "on";

                     oDivs[this.index].className = "";

                 }

             };

这样写为什么不行啊?跟下面的正确的 有什么不同啊?


             for(var i= 0,len = oLis.length;i<len;i++){

                 oLis[i].index = i;

                 oLis[i].onclick = function() {

                     for(var n= 0;n<len;n++){

                         oLis[n].className = "";

                         oDivs[n].className = "hide";

                     }

                     this.className = "on";

                     oDivs[this.index].className = "";

                 }

             };


正在回答

2 回答

答案里的最外层的循环:1、强制给数组中的每个对象一个索引,这样鼠标经过的时候才能获取经过的是哪个<li>;2、给每个 oLis[i].onclick定义一个dom事件

0 回复 有任何疑惑可以回复我~

你把oLis[i].index = i;这句放在循环中没有意义,这个循环是把div隐藏的,并不能通过这个i知道该显示哪个

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

关于循环的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信