问答详情
源自:7-1 JS动画案例

这里的遍历FOR循环后,难道不需要用(function(){})()吗?

for循环当中的i最后会变成length-1,那为什么alist[i],.onmouseover能成功呢?

难道不应该是立刻调用自身吗?

(function(i) {

alist[i].onmouseover =function()(

}

})(i)

为什么不是这样写呢?



提问者:wangao4321 2016-05-19 13:18

个回答

  • P妞酱酱
    2016-05-19 15:52:31

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

            aList[i].onmouseover = function(){

                var _this = this.getElementsByTagName('img')[0];

                startMove(_this,{top:-10,opacity:0},function(){

                    _this.style.top = 20 +'px';

                    startMove(_this,{top:10,opacity:100});    

                });

            }

        }

    注意for循环的执行顺序,i=0,判断若满足i<aList.length,则执行中括号里的aList[i].onmouseover = function()等代码,然后再执行i++,再判断i<aList.length是否满足,若满足则执行中括号里的代码,依次类推,所以不会出现你所说的情况。