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

请问把这个函数放在循环外边为什么停止运行了呢?

 for(var i = 0; i < aLi.length; i++) {
     aLi[i].index = i;
     aLi[i].onmouseover = function() {
     for(var i = 0; i < aLi.length; i++) {
             aLi[i].className = "";
     }
     this.className = "active";
     for(var j = 0; j < aDiv.length; j++) {
         aDiv[j].className = "hide";
      }
     aDiv[this.index].className = "show";
     }        
 }


                for(var i = 0; i < aLi.length; i++) {
                    aLi[i].index = i;
                }
                aLi[i].onmouseover = function() {
                for(var i = 0; i < aLi.length; i++) {
                    aLi[i].className = "";
                }
                this.className = "active";
                for(var j = 0; j < aDiv.length; j++) {
                    aDiv[j].className = "hide";
                }
                aDiv[this.index].className = "show";
                    }

另外我还想问

  1. 为什么原来的程序可以一直检测onclick事件?

  2. 请问比如说我把标签移到[1]房产上的时候,整个程序之前之后和现在是怎样运行的?

  3. 奥,前两个问题我可能有点懂了,aLi[i].onmouseover = function()这个函数在第一个循环里是定义了这个事件发生时执行函数。

  • 谢谢!!

正在回答

1 回答

你放在循环里,是给每一节点都设置一个onmouseover事件,在循环外面,是给一个节点设置onmouseover事件.(另外var i在for里不是一个临时的变量,在for外也可以使用,所以放在循环外i==aLi.length,所以根本没有做到设一个节点onmouseover事件)

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

举报

0/150
提交
取消

请问把这个函数放在循环外边为什么停止运行了呢?

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