Heim > Web-Frontend > CSS-Tutorial > Wie kann ich CSS3-Animationen effizient neu starten?

Wie kann ich CSS3-Animationen effizient neu starten?

Barbara Streisand
Freigeben: 2024-12-17 12:43:26
Original
868 Leute haben es durchsucht

How Can I Efficiently Restart CSS3 Animations?

CSS3-Animationen neu starten: Vereinfacht

In der Welt der CSS3-Animationen kommt es nicht selten vor, dass Sie auf Szenarien stoßen, in denen Sie eine Animation neu starten müssen Nachfrage. Es gibt zwar verschiedene Ansätze, dies zu erreichen, doch einer, der Neugier geweckt hat, ist die Technik, das animierte Element zu entfernen und wieder einzufügen. Obwohl es funktional ist, lässt es Raum für Optimierung.

Eine optimierte Methode

Zum Glück gibt es eine elegantere und effizientere Möglichkeit, CSS3-Animationen neu zu starten: die Verwendung von Reflow, um eine Aktualisierung zu erzwingen zum Stil des Elements. Indem Sie den Animationsstil vorübergehend entfernen, einen Reflow auslösen und dann die Animation wiederherstellen, können Sie sie effektiv zurücksetzen, ohne unnötige Komplexität einzuführen.

Praktische Implementierung

Hier ist ein JavaScript Funktion, die diesen Ansatz demonstriert:

function reset_animation() {
  var el = document.getElementById('animated');
  el.style.animation = 'none';
  el.offsetHeight; /* trigger reflow */
  el.style.animation = null; 
}
Nach dem Login kopieren

Begleitend zu dieser Funktion definieren Sie CSS-Regeln für das animierte Element und einen Keyframe Animation, wie unten dargestellt:

#animated {
  position: absolute;
  top: 70px;
  width: 50px; height: 50px;
  background-color: black;
  animation: bounce 3s ease-in-out infinite;
}
@keyframes bounce {
  0% { left: 0; }
  50% { left: calc( 100% - 50px ); }
  100% { left: 0; }
}
Nach dem Login kopieren

Schließlich fügen Sie das HTML-Markup ein:

<div>
Nach dem Login kopieren

Dieser Ansatz startet die Animation effektiv neu, wenn Sie auf die Schaltfläche „Zurücksetzen“ klicken, ohne dass dies erforderlich ist komplexe Zeitüberschreitungen oder Elementmanipulation.

Das obige ist der detaillierte Inhalt vonWie kann ich CSS3-Animationen effizient neu starten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage