您的位置:首頁技術文章
文章詳情頁

javascript - jQuery中的each函數遍歷與animate函數一起使用的時候,執行過程是怎樣的?

瀏覽:96日期:2023-04-15 15:25:46

問題描述

$('#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
国产综合久久一区二区三区