javascript - jQuery中的each函數遍歷與animate函數一起使用的時候,執行過程是怎樣的?
三叔
三叔 2017-06-30 10:00:02
0
2
946
$("#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);
}

於是,動畫的回呼應該是進入任務佇列的,所以循環是先執行的。

淡淡烟草味

應該是先循環綁定事件,然後同時進行。
也就是說,在動畫執行之前,先做了循環,給每一個元素都綁定了這個動畫。循環結束之後,所有元素同時進行這個動畫。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板