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

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

Mary-Kate Olsen
Freigeben: 2024-11-04 10:14:29
Original
219 Leute haben es durchsucht

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

Überwachung des Abschlusses von CSS3-Übergängen und Animationen in jQuery

In der Webentwicklung ist es oft wünschenswert, ein Element auszublenden und anschließend daraus zu entfernen das DOM nach Abschluss der Animation. Während dies mit den Animationsfunktionen von jQuery unkompliziert ist, erfordert die Ausweitung auf CSS3-Übergänge einen Mechanismus, um deren Abschluss zu erkennen.

Zum Glück bietet jQuery Möglichkeiten, dieses Problem anzugehen:

Übergänge

Um das Ende eines CSS-Übergangs über jQuery zu erkennen, verwenden Sie die folgenden Ereignisbinder:

$("#someSelector").bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(){ ... });
Nach dem Login kopieren

Mozilla führt dies unter https://developer.mozilla.org/en weiter aus -US/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions#Detecting_the_start_and_completion_of_a_transition

Animationen

Für Animationen ist der Ansatz ähnlich:

$("#someSelector").bind("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd", function(){ ... });
Nach dem Login kopieren

Ein wichtiger zu beachtender Punkt ist, dass Sie durch die gleichzeitige Verwendung der bind()-Methode mit allen Browser-Präfix-Ereigniszeichenfolgen die Unterstützung aller Browser mit dieser Funktionalität sicherstellen können.

Optimierung der Ereignisbehandlung

Um das Auslösen des Handlers auf ein einzelnes Vorkommen zu beschränken, verwenden Sie die .one()-Methode von jQuery wie folgt:

$("#someSelector").one("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(){ ... });

$("#someSelector").one("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd", function(){ ... });
Nach dem Login kopieren

Methodenveraltung und moderne Alternativen

Es ist erwähnenswert, dass die bind()-Methode von jQuery ab jQuery 1.7 zugunsten der on()-Methode veraltet ist. Darüber hinaus können Sie die Methode off() innerhalb der Callback-Funktion nutzen, um eine einmalige Ausführung zu gewährleisten, wie in diesem Beispiel gezeigt:

$("#someSelector")
.on("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd",
 function(e){
    // do something here
    $(this).off(e);
 });
Nach dem Login kopieren

Dieser Ansatz hat den gleichen Effekt wie die Verwendung der Methode one() .

Zusätzliche Ressourcen

  • [.off()](https://api.jquery.com/off/)
  • [.one()](https://api.jquery.com/one/)

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage