Maison > interface Web > js tutoriel > Comment détecter la fin des transitions et des animations CSS3 avec jQuery ?

Comment détecter la fin des transitions et des animations CSS3 avec jQuery ?

DDD
Libérer: 2024-11-04 07:35:02
original
433 Les gens l'ont consulté

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

Détection de l'achèvement des transitions et des animations CSS3 à l'aide de jQuery

La transition d'éléments avec CSS3 offre des animations plus fluides que les techniques JavaScript traditionnelles. Cependant, lorsque l'on travaille avec des animations CSS3, la question se pose : comment déterminer quand la transition est terminée ?

jQuery apporte une solution à ce besoin. Pour surveiller la fin d'une transition CSS3, vous pouvez lier un gestionnaire d'événements en utilisant la syntaxe suivante :

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

De même, pour les animations CSS3, vous pouvez utiliser :

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

En fournissant toutes les chaînes d'événements préfixées par le navigateur dans la méthode bind(), vous garantissez la compatibilité entre les navigateurs.

Assurer l'exécution unique du gestionnaire

Pour empêcher l'exécution répétée du gestionnaire, vous pouvez utiliser la méthode .one() de jQuery. Par exemple :

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

$("#someSelector").one("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd", function(){ ... });</code>
Copier après la connexion

Dépréciation de la méthode .bind()

La méthode bind() de jQuery a été dépréciée au profit de .on(). Par conséquent, vous devez utiliser :

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

Cette méthode garantit également que le gestionnaire n'est exécuté qu'une seule fois.

Pour plus de détails, reportez-vous aux références suivantes :

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

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal