Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Wie kann ich den Abschluss eines CSS-Übergangs erkennen?

Patricia Arquette
Freigeben: 2024-11-26 15:51:10
Original
359 Leute haben es durchsucht

How Can I Detect the Completion of a CSS Transition?

Rückruf bei CSS-Umstellung

Frage:

Ist es möglich, wann eine Benachrichtigung zu erhalten? ein CSS-Übergang hat abgeschlossen?

Antwort:

Ja, sofern vom Browser unterstützt, wird ein Ereignis ausgelöst, wenn der Übergang endet. Das spezifische Ereignis variiert jedoch je nach Browser:

  • Webkit-Browser (Chrome, Safari): webkitTransitionEnd
  • Firefox: Transitionend
  • IE9: msTransitionEnd
  • Oper: oTransitionEnd

Zusätzliche Überlegungen:

  • webkitTransitionEnd wird möglicherweise nicht immer ausgelöst, insbesondere wenn die Animation keine Auswirkung auf das Element hat.
  • Ein Timeout-Fallback wird empfohlen, um sicherzustellen, dass der Event-Handler aufgerufen wird, falls das Event nicht ausgelöst wird erwartet.

Codebeispiel:

const transitionEndEventName = "XXX"; // Determine the appropriate event name
const elemToAnimate = ...; // Element to animate
let done = false;
const transitionEnded = () => {
  done = true;
  // Transition finished actions
  elemToAnimate.removeEventListener(transitionEndEventName, transitionEnded, false);
};
elemToAnimate.addEventListener(transitionEndEventName, transitionEnded, false);

// Trigger animation

setTimeout(() => {
  if (!done) {
    console.log("Timeout required to call transition ended.");
    transitionEnded();
  }
}, XXX); // Replace XXX with animation duration plus a grace period
Nach dem Login kopieren

Hinweis:

  • Das Ende des Übergangsereignisses Der Name kann mit der Methode abgerufen werden, die in der Antwort auf „Wie normalisiere ich CSS3-Übergangsfunktionen in allen Browsern?“ beschrieben wird.
  • Dies Das Problem hängt auch mit „CSS3-Übergangsereignissen“ zusammen.

Das obige ist der detaillierte Inhalt vonWie kann ich den Abschluss eines CSS-Übergangs 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