CSS3-Animationen neu starten
Das Wiederbeleben von CSS3-Animationen bei Benutzerinteraktion ist eine häufige Aufgabe. Auch wenn das Entfernen und erneute Einfügen des animierten Elements effektiv erscheinen mag, führt es zu unnötiger Komplexität. Eine verfeinerte Lösung ergibt sich, indem die Leistungsfähigkeit des Reflow genutzt wird, um die Animation nahtlos zurückzusetzen.
Reflow, ein Prozess der Neuformatierung und Neugestaltung der Dokumentstruktur, bietet einen praktischen Mechanismus zum Ändern von Stilen, ohne die Zeitleiste der Animation zu unterbrechen. Durch kurzes Setzen der Animationseigenschaft auf „none“ und anschließendes Auslösen eines Reflows erhält der Browser ein Signal, alle laufenden Animationen zu ignorieren. Dadurch können nachfolgende Stiländerungen sofort wirksam werden und die Animation effektiv neu gestartet werden.
Betrachten Sie zur Veranschaulichung das folgende JavaScript-Snippet:
function reset_animation() { var el = document.getElementById('animated'); el.style.animation = 'none'; el.offsetHeight; /* trigger reflow */ el.style.animation = null; }
Bei Auslösung pausiert diese Funktion die Animation auf dem „ animiert‘-Element, erzwingt eine Neulackierung des Browsers und stellt dann die Animationseigenschaft in ihren ursprünglichen Zustand zurück. Durch die Vermeidung von Verzögerungen oder Verkettungen von Animationszuweisungen vereinfacht dieser Ansatz den Prozess zum Zurücksetzen der Animation und sorgt so für ein reibungsloses visuelles Erlebnis.
Das obige ist der detaillierte Inhalt vonWie starte ich CSS3-Animationen mit Reflow neu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!