javascript - Wie läuft der Ausführungsprozess ab, wenn jeder Funktionsdurchlauf in jQuery zusammen mit der Animate-Funktion verwendet wird?
三叔
三叔 2017-06-30 10:00:02
0
2
947
$("#banner ul li").each(function(i){
          $(this).animate({
                        width: arrW[index],
                         height: arrH[index],
                        opacity: arrO[index],
                        left: arrL[index],
                        top: arrT[index]

                    },500)
                }

Was ich nicht verstehe ist, dass die Ausführung jeder Schleife 500 ms dauert. Bedeutet das, dass die nächste Schleife nach dem Ende der Animationsausführung gestartet wird, also 500 Millisekunden? Oder warten Sie, bis die Animation abgeschlossen ist, bevor Sie die nächste Schleife ausführen?

三叔
三叔

Antworte allen(2)
巴扎黑

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

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

这好比:

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

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

淡淡烟草味

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage