javascript - jQuery中的each函数遍历与animate函数一起使用的时候,执行过程是怎样的?
三叔
三叔 2017-06-30 10:00:02
0
2
956
$("#banner ul li").each(function(i){
          $(this).animate({
                        width: arrW[index],
                         height: arrH[index],
                        opacity: arrO[index],
                        left: arrL[index],
                        top: arrT[index]

                    },500)
                }

我不理解的是,当每循环一次的时候,动画的执行要500ms,那是等动画执行结束,也就是500毫秒之后,才进行下一次循环吗?还是不等动画执行完,就执行下一次循环了?

三叔
三叔

全部回复(2)
巴扎黑

each主要只是遍历,没有异步调用的操作,而animate的动画主要还是用的延迟也就是异步。

http://www.zhangyunling.com/2...

这好比:

for(var i=0;i<100;i++){
    setTimeout(function(){
        console.log('一次延迟回调');
    },1000);
}

于是,动画的回调应该是进入任务队列的,所以循环是先执行的。

淡淡烟草味

应该是先循环绑定事件,然后同时进行。
也就是说,在动画执行之前,先做了循环,给每一个元素都绑定了这个动画。循环结束之后,所有元素同时进行这个动画。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板