Maison > interface Web > js tutoriel > Redémarrage des animations CSS3 : la redistribution est-elle la meilleure alternative à la suppression d'éléments ?

Redémarrage des animations CSS3 : la redistribution est-elle la meilleure alternative à la suppression d'éléments ?

DDD
Libérer: 2024-11-11 04:55:03
original
544 Les gens l'ont consulté

Restarting CSS3 Animations: Is Reflow the Best Alternative to Element Removal?

Redémarrage des animations CSS3 : alternative améliorée à la suppression d'éléments

Dans le but de redémarrer une animation CSS3, une technique intrigante souvent utilisée consiste à supprimer le élément animé du document et réinsertion de son clone. Bien qu'efficace, cette approche offre une opportunité d'optimisation.

Une méthode préférable pour réaliser le redémarrage de l'animation, comme suggéré par un expert anonyme, consiste à déclencher une refusion. Cela peut être accompli simplement en accédant à la hauteur du HTMLElement, comme démontré ci-dessous :

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

Dans cet exemple, l'animation est initialement définie sur « aucun », déclenchant la réinitialisation. Par la suite, une redistribution est initiée en accédant à offsetHeight de l'élément, qui calcule et met en cache la taille de l'élément, appliquant ainsi la réinitialisation de l'animation. Enfin, la valeur « nulle » attribuée au style d'animation lui permet d'être rejoué.

Cette approche basée sur la redistribution est à la fois concise et efficace, surpassant la méthode précédente par sa simplicité et son efficacité.

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