Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2020 browserübergreifend verfügbar.
Die commitStyles()-Methode der Animation-Schnittstelle der Web Animations API schreibt die berechneten Werte der aktuellen Stile der Animation in das style-Attribut des Zielelements.
Sie wird hauptsächlich verwendet, um die Stile für den Endzustand einer Animation in das Zielelement zu schreiben, damit die Gestaltung nach Beendigung der Animation erhalten bleibt.
Keine.
Keine (undefined).
Die commitStyles()-Methode wird hauptsächlich verwendet, um die berechneten Werte für den Endzustand einer Animation in das style-Attribut des Zielelements zu schreiben, damit die Gestaltung nach Beendigung der Animation erhalten bleibt. Dies kann geschehen, wenn die Animation abgeschlossen ist (wenn also die finished-Eigenschaft des Animation-Objekts aufgelöst wurde).
In älteren Browsern müssen Sie den fill-Modus angeben, um in der Lage zu sein, die Stile an das Element nachdem die Animation beendet ist, zu übernehmen.
Der untenstehende Code zeigt, wie Sie ein Element mit dem Namen animatedElement animieren und fill: "forwards" setzen können, um die Animationsstile nach dem Ende beizubehalten. Sobald die Animation beendet ist, übernehmen wir die Stile auf das Element mit commitStyles().
Da fill die Animation unbefristet beibehält, beenden wir die Animation, sobald wir die Stile übernommen haben.
Beachten Sie, dass derselbe Effekt nur mit fill allein erzielt werden könnte, jedoch wird die Verwendung von unbefristet füllenden Animationen nicht empfohlen. Animationen haben Vorrang vor allen statischen Stilen, sodass eine unbefristet füllende Animation verhindern kann, dass das Zielelement jemals normal gestaltet wird.
Hinweis: Sie könnten auch vermeiden, den Endzustand explizit zu speichern, indem Sie diese als Anfangsstile des Elements festlegen und zu den Endstilen animieren.
In neueren Browsern müssen Sie den fill-Modus nicht festlegen (siehe die Browser-Kompatibilitätstabelle für spezifische Versionen).
Hinweis: Es gibt keine Möglichkeit, dieses neue Verhalten zu überprüfen. Vorerst sollten die meisten Codes weiterhin fill setzen, wie im vorherigen Abschnitt gezeigt.
Der untenstehende Code zeigt, wie Sie ein Element mit dem Namen animatedElement animieren, auf den Abschluss der Animation mit der finished-Eigenschaft warten und dann die Stile auf das Element mit commitStyles() übernehmen. Da wir fill nicht setzen, müssen wir die Animation anschließend nicht stornieren.
commitStyles() funktioniert auch, wenn die Animation automatisch entfernt wurde. Nachdem die Stile des Elements übernommen wurden, können sie wie gewohnt geändert und ersetzt werden.
Dieses Beispiel zeigt, wie Sie commitStyles() verwenden können, um die berechneten Stile am Ende der Animation zu speichern, sowohl mit als auch ohne Verwendung von fill. Es bietet auch ein Beispiel dafür, was passiert, wenn weder commitStyles() noch fill verwendet werden, zum Vergleich.
Das Beispiel zeigt zuerst zwei Schaltflächen mit der Bezeichnung "commitStyles() only" und "commitStyles() with fill". Beide Schaltflächen animieren sich, wenn Sie sie anklicken, und beide Schaltflächen rufen commitStyles() auf, um den Endzustand der Animation beizubehalten. Der Unterschied besteht darin, dass "commitStyles() only" nicht fill: "forwards" angibt, um den Endzustand der Animation zu erhalten. In Browsern, die nicht der aktuellen Spezifikation entsprechen, wird der Endzustand möglicherweise nicht erfasst.
Der Code zeigt dann eine Schaltfläche "No commitStyles() or fill", die zum Vergleich verwendet werden kann, und eine "Reset"-Schaltfläche.
Dieser Code definiert einen Klick-Handler für die Schaltfläche "commitStyles() only". Dieses animiert die Schaltfläche, um sich beim Klicken nach rechts oder links zu bewegen. Beachten Sie, dass commitStyles() unmittelbar nach Beendigung der Animation aufgerufen wird.
Dieser Code definiert einen Klick-Handler für die Schaltfläche "commitStyles() with fill". Dieser animiert ebenfalls die Schaltfläche, sich beim Klicken nach rechts oder links zu bewegen. Da es ein fill definiert, muss die Animation anschließend abgebrochen werden.
Beachten Sie, dass commitStyles() unmittelbar nach Beendigung der Animation aufgerufen wird.
Dieser Code definiert einen Klick-Handler für die Schaltfläche "No commitStyles() or fill". Dieser animiert ebenfalls die Schaltfläche, sich beim Klicken nach rechts oder links zu bewegen. Es definiert kein Fill und die Animation wird nicht abgebrochen.
Klicken Sie auf die Schaltflächen, um sie zu animieren. Beachten Sie, dass die erste Schaltfläche am Ende der Animation "springt", wenn der aktuelle Browser weiterhin fill erfordert, damit die Stile nach Ende der Animation übernommen werden. Die Schaltfläche "No commitStyles() or fill" springt immer am Ende, da der Endzustand nicht gespeichert ist.
| Web Animations # dom-animation-commitstyles |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.