... oder genauer gesagt, wie können sie Animationen über Javascript erzeugen, das synchron ist, ohne die nächste Javascript-Anweisung aufzuhalten.Wie führt jQuery seine asynchronen Animationen durch?
Es ist nur eine Kuriosität. Verwenden sie eine Kette von setTimeout()
? Wenn ja, werden sie früh eingestellt, jeder mit einer etwas längeren Dauer als der vorherige und parallel läuft? Oder werden sie durch einen rekursiven Funktionsaufruf erzeugt, also in Serie?
Oder ist es etwas ganz anderes?
Ok. Ich habe 'setInterval()' nicht berücksichtigt. Wenn ich also eine Animation mit der Dauer 1000 erstelle, wird die Dauer von 'setInterval()' in jQuery auf 1 gesetzt und nach 1000 Aufrufen gelöscht. Oder etwas ähnliches? – user113716
@patrick ja es ist so etwas - das Intervall ist wahrscheinlich ein wenig länger als 1ms, und ich denke, dass IE ein minimales Intervall von etwa 15ms oder so hat. (Ich kann mich nicht erinnern, ob das bedeutet, dass es auf 0 ms abgerundet oder auf 15 ms abgerundet wird :-) – Pointy
Also nehme ich an, dass sie etwas Mathe machen, die Dauer durch die minimalen Millisekunden dividieren, wahrscheinlich wieder durch die 'Distanz' der Animation dividieren, und Bewegen des Zielelements 1px pro Funktionsaufruf. Klingt das nahe? – user113716