Heim >Web-Frontend >js-Tutorial >Wie erkennt man das Ende von CSS3-Übergängen und -Animationen mit jQuery?

Wie erkennt man das Ende von CSS3-Übergängen und -Animationen mit jQuery?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-04 06:46:30295Durchsuche

How to Detect the End of CSS3 Transitions and Animations with jQuery?

CSS3-Übergänge nutzen: Abschluss mit jQuery erkennen

Beim Animieren von Elementen mithilfe von CSS3-Übergängen ist es notwendig, den genauen Zeitpunkt zu kennen, zu dem sie enden Folgeaktionen durchführen. Im Gegensatz zu jQuery-Animationen verfügen CSS3-Übergänge nicht über integrierte Abschlussrückrufe.

Übergangsendereignisse erfassen

Um das Ende eines Übergangs zu erkennen, bietet jQuery Folgendes Skript:

<code class="javascript">$("#someSelector").bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(){ ... });</code>

Für Animationen kann ein ähnlicher Ansatz verwendet werden:

<code class="javascript">$("#someSelector").bind("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd", function(){ ... });</code>

Durch die Übergabe aller vorangestellten Ereigniszeichenfolgen funktioniert dieses Skript in mehreren Browsern.

Verwenden von .one() für Single Fire

Um sicherzustellen, dass der Event-Handler nur einmal ausgelöst wird, können Sie die .one()-Methode von jQuery anstelle von .bind() verwenden:

<code class="javascript">$("#someSelector").one("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(){ ... });

$("#someSelector").one("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd", function(){ ... });</code>

Veraltung und moderner Ansatz

Die .bind()-Methode von jQuery ist jetzt veraltet. Der bevorzugte Ansatz ist .on(), der in Verbindung mit .off() funktioniert. Hier ist ein Beispiel:

<code class="javascript">$("#someSelector")
.on("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd",
 function(e){
    // do something here
    $(this).off(e);
 });</code>

Dieser Ansatz stellt sicher, dass die Callback-Funktion nur einmal ausgeführt wird.

Das obige ist der detaillierte Inhalt vonWie erkennt man das Ende von CSS3-Übergängen und -Animationen mit jQuery?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn