Maison > interface Web > tutoriel CSS > Comment puis-je contrôler avec précision l'achèvement de l'animation CSS3 et supprimer un élément après l'image finale ?

Comment puis-je contrôler avec précision l'achèvement de l'animation CSS3 et supprimer un élément après l'image finale ?

Linda Hamilton
Libérer: 2024-12-19 20:28:11
original
559 Les gens l'ont consulté

How Can I Precisely Control CSS3 Animation Completion and Remove an Element After the Final Frame?

Contrôle de l'achèvement des animations CSS3

Dans le domaine du développement Web, les animations CSS3 sont devenues un outil puissant pour améliorer l'expérience utilisateur. Par conséquent, lors de la conception d'animations qui nécessitent un contrôle précis sur leurs états finaux, les arrêter sur leur dernière image peut poser un défi.

Cet article aborde un tel scénario, dans lequel une animation CSS3 en plusieurs parties est jouée au clic, avec la partie finale destinée à supprimer un div de l'écran. Malheureusement, l'animation revient continuellement à son état d'origine. Pour résoudre ce problème, nous explorons deux solutions :

1. Geler l'animation sur la dernière image :

Pour figer l'animation sur sa dernière image (achèvement à 100%), nous utilisons la propriété CSS animation-fill-mode: forwards; . Cette directive demande au navigateur de conserver l'état final de l'animation même après la fin de l'animation.

2. Suppression du Div après l'animation :

Alternativement, si la suppression complète du div est souhaitée, nous pouvons utiliser JavaScript pour supprimer l'élément du DOM après la lecture de l'animation. Ceci peut être réalisé avec la séquence suivante :

document.getElementById("myDiv").addEventListener("animationend", function() {
  this.parentNode.removeChild(this);
});
Copier après la connexion

Une fois l'animation terminée, l'événement "animationend" est déclenché, provoquant la suppression du div de la page.

Exemple :

@keyframes colorchange {
  0%   { transform: scale(1.0) rotate(0deg); }
  50%  { transform: rotate(340deg) translate(-300px,0px) }
  100% { transform: scale(0.5) rotate(5deg) translate(1140px,-137px); }
}

#myDiv {
  animation: colorchange 1s infinite;
  animation-fill-mode: forwards;
}
Copier après la connexion

Dans cet exemple, le div avec l'ID "myDiv" subit une animation qui se termine par une échelle et transformation de rotation. En définissant "animation-fill-mode: forwards;", l'état final est conservé après la fin de l'animation.

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