Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Wie kann ich den Abschluss von CSS-Übergängen erkennen?

Mary-Kate Olsen
Freigeben: 2024-11-28 00:12:10
Original
709 Leute haben es durchsucht

How Can I Detect the Completion of CSS Transitions?

Rückrufe bei CSS-Übergängen

Abfrage: Kann man eine Benachrichtigung erhalten, wenn ein CSS-Übergang abgeschlossen wurde?

Antwort : In Browsern, die Rückrufe unterstützen, wird nach Abschluss des Übergangs ein Ereignis ausgelöst. Das Ereignis variiert je nach Browser:

  • Webkit (Chrome, Safari): webkitTransitionEnd
  • Firefox: Transitionend
  • IE9: msTransitionEnd
  • Opera: oTransitionEnd

WebKit TransitionEnd-Problem

Beachten Sie, dass webkitTransitionEnd möglicherweise nicht immer ausgelöst wird. Dies geschieht, wenn die Animation keine sichtbare Auswirkung auf das Element hat. Um dies zu umgehen, sollten Sie eine Zeitüberschreitung in Betracht ziehen, um den Ereignishandler auszulösen, wenn das Ereignis nicht wie erwartet ausgelöst wird.

Empfohlene Codestruktur

var transitionEndEventName = "XXX"; // Specify the appropriate event name
var elemToAnimate = ... // Element to be animated
var done = false;
var transitionEnded = function() {
    done = true;
    // Code to execute when transition finishes
    elemToAnimate.removeEventListener(transitionEndEventName, transitionEnded, false);
};
elemToAnimate.addEventListener(transitionEndEventName, transitionEnded, false);

// Animation triggering code here

// Fallback for browsers without event notifications
setTimeout(function() {
    if (!done) {
        transitionEnded();
    }
}, XXX); // Calculate XXX based on animation time and grace period
Nach dem Login kopieren

Hinweis : Siehe „Wie normalisiere ich CSS3-Übergangsfunktionen browserübergreifend?“ zur Normalisierung von Übergangsereignisnamen.

Das obige ist der detaillierte Inhalt vonWie kann ich den Abschluss von CSS-Übergängen erkennen?. 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