jQuery animiert Verzögerungsprobleme bei der automatischen Schleife von Schritten

9

Ich habe eine timeline -Definition, die Selektoren und eine Liste von Verzögerungen und Animationen für dieses Objekt auflistet. Sie können festlegen, dass die Schritte für ein bestimmtes Objekt wiederholt werden.

Hier ist die Funktion, mit der die Animationen in die Warteschlange gestellt werden:

%Vor%

Hier ist die timeline Information

%Vor%

Und hier ist die Funktion, die timeline in die obige animierte Funktion stellt:

%Vor%

Hier ist ein vollständiges Beispiel. Ссылка

Dieser Code scheint gut zu funktionieren, die Animationsschleife und die Stopptaste können angeklickt werden, um die Animationen zu stoppen, die Warteschlangen usw. zu löschen. Das Problem, auf das wir stoßen, kann ausgelöst werden, indem man stop anfängt und wieder und wieder beginnt 10 mal). Dann merke, dass die Verzögerungen nicht mehr korrekt funktionieren und die Formen sich viel schneller bewegen.

Warum ist das und wie kann es behoben werden?

    
Sprintstar 06.09.2012, 12:42
quelle

2 Antworten

1

Etwas funktioniert nicht richtig mit delay ...

Als Umgehung habe ich es durch doTimeout in diese Geige , also folgendes:

%Vor%

Wird:

%Vor%

timeouts ist ein Array mit eindeutigen Timeout-IDs, die beim Drücken der Stop-Taste gelöscht werden.

Wie gesagt, eher ein Workaround als ein Fix, da Sie auch die Position der Elemente beim Stop zurücksetzen müssen. (Beachten Sie, dass ich die + = und - = aus den Definitionen oben / rechts entfernt habe)

    
RYFN 07.09.2012 16:20
quelle
0

Wenn ich auf Ihren Stop-Handler schaue, würde ich vermuten, dass die .stop () -Meldung fehlschlägt. Ich würde es auf .circle und .square anstelle der Holding div. Ziel.

Hatte mal ein Problem mit animate, da sich das Element immer schneller und schneller bewegte und zu dem Schluss kam, dass animate sich auf sich selbst stapelte.

api.jquery.com/clearQueue/ und Ссылка könnten nützlich sein

    
Louis Loudog Trottier 19.10.2012 09:35
quelle