您的位置:首页技术文章
文章详情页

javascript - jQuery中的each函数遍历与animate函数一起使用的时候,执行过程是怎样的?

【字号: 日期:2023-04-15 15:25:46浏览:25作者:猪猪

问题描述

$('#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毫秒之后,才进行下一次循环吗?还是不等动画执行完,就执行下一次循环了?

问题解答

回答1:

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

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

这好比:

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

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

回答2:

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

标签: JavaScript