Maison > interface Web > js tutoriel > Comment redémarrer les animations CSS3 avec Reflow ?

Comment redémarrer les animations CSS3 avec Reflow ?

Barbara Streisand
Libérer: 2024-12-15 07:34:09
original
781 Les gens l'ont consulté

How to Restart CSS3 Animations with Reflow?

Redémarrer les animations CSS3

La relance des animations CSS3 lors de l'interaction de l'utilisateur est une tâche courante. Même si la suppression et la réinsertion de l’élément animé peuvent sembler efficaces, cela introduit une complexité inutile. Une solution plus raffinée émerge en tirant parti de la puissance de la redistribution pour réinitialiser de manière transparente l'animation.

La redistribution, un processus de reformatage et de repeinture de la structure du document, fournit un mécanisme pratique pour modifier les styles sans perturber la chronologie de l'animation. En définissant brièvement la propriété d'animation sur « aucun », puis en déclenchant une redistribution, le navigateur reçoit un signal pour ignorer toutes les animations en cours. Cela permet aux modifications de style ultérieures de prendre effet immédiatement, redémarrant efficacement l'animation.

Pour illustrer, considérons l'extrait JavaScript suivant :

function reset_animation() {
  var el = document.getElementById('animated');
  el.style.animation = 'none';
  el.offsetHeight; /* trigger reflow */
  el.style.animation = null; 
}
Copier après la connexion

Lorsqu'elle est déclenchée, cette fonction met l'animation en pause sur le ' animation', force une repeinture du navigateur, puis restaure la propriété d'animation à son état d'origine. En évitant les retards ou l'enchaînement des missions d'animation, cette approche simplifie le processus de réinitialisation de l'animation, garantissant une expérience visuelle fluide.

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