Maison interface Web tutoriel CSS Comment puis-je détecter la fin d'une transition CSS ?

Comment puis-je détecter la fin d'une transition CSS ?

Nov 26, 2024 pm 03:51 PM

How Can I Detect the Completion of a CSS Transition?

Rappel sur la transition CSS

Question :

Est-il possible de recevoir une notification lorsque une transition CSS a terminé ?

Réponse :

Oui, si pris en charge par le navigateur, un événement est déclenché à la fin de la transition. Cependant, l'événement spécifique varie selon les navigateurs :

  • Navigateurs Webkit (Chrome, Safari) : webkitTransitionEnd
  • Firefox : transitionend
  • IE9 : msTransitionEnd
  • Opéra : oTransitionEnd

Considérations supplémentaires :

  • webkitTransitionEnd peut ne pas toujours se déclencher, surtout si l'animation n'a aucun effet sur l'élément.
  • Un délai d'attente de secours est recommandé pour garantir que le gestionnaire d'événements est appelé au cas où l'événement ne se déclencherait pas comme attendu.

Exemple de code :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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

Copier après la connexion

Remarque :

  • La fin de l'événement de transition Le nom peut être obtenu en utilisant la méthode décrite dans la réponse à « Comment normaliser les fonctions de transition CSS3 dans les navigateurs ? »
  • Ce problème est également lié aux "événements de transition CSS3."

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Musée à deux points: toutes les expositions et où les trouver
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Musée à deux points: toutes les expositions et où les trouver
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Ajout d'ombres de boîte aux blocs et éléments WordPress Ajout d'ombres de boîte aux blocs et éléments WordPress Mar 09, 2025 pm 12:53 PM

Ajout d'ombres de boîte aux blocs et éléments WordPress

Créez un formulaire de contact JavaScript avec le cadre Smart Forms Créez un formulaire de contact JavaScript avec le cadre Smart Forms Mar 07, 2025 am 11:33 AM

Créez un formulaire de contact JavaScript avec le cadre Smart Forms

Créer un éditeur de texte en ligne avec l'attribut satisfaistable Créer un éditeur de texte en ligne avec l'attribut satisfaistable Mar 02, 2025 am 09:03 AM

Créer un éditeur de texte en ligne avec l'attribut satisfaistable

Faire votre première transition Svelte personnalisée Faire votre première transition Svelte personnalisée Mar 15, 2025 am 11:08 AM

Faire votre première transition Svelte personnalisée

Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres) Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres) Mar 04, 2025 am 10:22 AM

Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres)

Téléchargement de fichiers avec Multer dans Node.js et Express Téléchargement de fichiers avec Multer dans Node.js et Express Mar 02, 2025 am 09:15 AM

Téléchargement de fichiers avec Multer dans Node.js et Express

Show, ne dit pas Show, ne dit pas Mar 16, 2025 am 11:49 AM

Show, ne dit pas

Travailler avec GraphQL Caching Travailler avec GraphQL Caching Mar 19, 2025 am 09:36 AM

Travailler avec GraphQL Caching

See all articles