JavaScript/Animation/Timing Options
Die Methoden Element.animate() und KeyframeEffect.KeyframeEffect()
können mit einem Timing-Objekt, das neben der Dauer (duration) weitere optionale Informationen beinhaltet, weiter verfeinert werden.
Syntax
var animationTiming = {
duration: 1000,
direction: 'alternate',
delay: 2000,
iterations: Infinity
}
folgende Angaben sind möglich:
-
id
: (optionale) Zeichenkette mit einer id -
composite
: (optionale) Angabe, wie mit Werten aus anderen Animation zu verfahren ist -
delay
: Verzögerung des Ausführungsbeginns -
direction
: Richtung -
duration
: Dauer -
easing
: Beschleunigungskurven der Animation -
endDelay
: Verzögerung am Ende der Animation -
fill
: Ansicht nach Ablauf der Animation -
iterations
: Anzahl der Wiederholungen -
iterationStart
: Startpunkt der Ausführung -
iterationComposite
: -
spacing
: Verteilung der Keyframes
Inhaltsverzeichnis
Eigenschaften
composite
Die composite
-Eigenschaft ist eine optionale Angabe, wie mit Werten aus anderen Animation zu verfahren ist
-
replace
: Standardwert, bisherige Werte werden überschrieben -
add
: Werte werden zusammengefasst und nacheinander ausgeführt
translate(100px)
undrotate(50deg
) →translate(100px) rotate(50deg)
accumulate
: Werte werden zusammengefasst
translate(100px)
undtranslate(50px)
→translate(150px)
, nichttranslate(100px) translate(50px)
direction
Die direction
-Eigenschaft gibt die Richtung des Animationsverlaufs an.
-
'normal'
: Standardwert 'reverse'
: rückwärts,'alternate'
: ändert (wie ein Pendel) nach jeder Animation die Richtung,'alternate-reverse'
: dito, nur umgekehrt
delay
Die delay
-Eigenschaft legt eine Verzögerung am Beginn der Animation fest. (Siehe auch die CSS-Eigenschaft animation-delay)
Sie erwartet eine Zeitangabe in ms (Standardwert = 0).
endDelay
Die endDelay
-Eigenschaft legt eine Verzögerung am Ende der Animation fest.
Sie erwartet eine Zeitangabe in ms (Standardwert = 0).
duration
Die duration
-Eigenschaft legt die Dauer der Animation in Millisekunden fest.
easing
Mit der easing
-Eigenschaft können Sie Beschleunigungskurven der Animation definieren.
linear
: ( Standardwert) Übergang mit gleicher Geschwindigkeit vom Start bis zum Stop
- (⇔ cubic-bezier(0,0,1,1))
ease
: Übergang mit langsamen Start, beschleunigt und endet langsam
- (⇔ cubic-bezier(0.25,0.1,0.25,1))
ease-in
: Übergang mit einem langsamen Start
- (⇔ cubic-bezier(0.42,0,1,1))
ease-out
: Übergang mit einem langsamen Ende
- (⇔cubic-bezier(0,0,0.58,1))
ease-in-out
: Übergang mit einem langsamen Start und Ende
- (⇔ cubic-bezier(0.42,0,0.58,1))
Zahlenangabe
: Zahlenangabe einer Bézier-Kurve
- z.B.
cubic-bezier(0.42, 0, 0.58, 1)
-
steps(<integer>)
: lässt die Animation in mehreren Schritten springen; vgl. Ticken einer Uhr
- Die
easing
-Eigenschaft entspricht der CSS-Eigenschaft animation-timing-function. - Dort finden Sie auch ein Beispiel, was die Unterschiede zwischen den Beschleunigungsfunktionen verdeutlicht.
- Jedoch hat
easing
im Unterschied zuranimation-timing-function
den Standardwertlinear
anstelle vonease
.
- MDN: EffectTiming.easing
- Daniel Wilson: Jumps: The New Steps() in Web Animation
fill
Die fill
-Eigenschaft legt die Darstellung nach Ablauf der Animation fest.
none
: (Standardwert), Auswirkungen der Animation sind nur während des Ablaufs sichtbar, nicht jedoch nach Ablauf oder während einer Pauseforwards
: das Ergebnis der Animation soll nach deren Ablauf weiterhin angezeigt werden.backwards
: animiertes Objekt springt auf den Ausgangspunkt zurückboth
: kombiniert die Auswirkungen vonforwards
undbackwards
und richtet sich nach dem aktuellen Zustand vor Beendigung der Animation
iterations
Die iterations
-Eigenschaft legt die Anzahl der Wiederholungen fest.
Zahlenangabe
: Standardwert 0, d. h. Animation wird einmal ausgeführtInfinity
: (Unendlichkeit), ununterbrochen fortlaufende Animation
'infinite'
festgelget wird, verwendet die API die Eigenschaft iterations und das Schlüsselwort Infinity
, dass ohne Anführungszeichen notiert wird.iterationStart
Die iterationStart
-Eigenschaft legt fest, an welcher Stelle und bei welchem Durchlauf die Animation startet.
Sie erwartet eine Zahlenangabe einer Dezimal- oder ganzen Zahl größer oder gleich 0 (Standardwert =0)
iterationsComposite
iterationComposite
:
replace
: Standardwert, bisherige Werte werden überschriebenaccumulate
: Werte werden zusammengefasst
spacing
Mit der spacing
-Eigenschaft können Sie festlegen, wie die einzelnen keyframes über die Dauer der Animation verteilt werden.
distribute
: Standardwert, keyframes werden gleichmäßig über Animationsdauer verteiltpaced
: keyframes werden anhand ihrer Werte so verteilt, dass größere Wertunterschiede die Keyframes weiter auseinanderziehen.