This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Web Animations API's EffectTiming dictionary's  iterationStart property specifies the repetition number which repetition the animation begins at and its progress through it.

Element.animate(), KeyframeEffectReadOnly.KeyframeEffectReadOnly(), and KeyframeEffect.KeyframeEffect() all accept an object of timing properties including iterationStart. The value of iterationStart corresponds directly to AnimationEffectTimingReadOnly.iterationStart in timing objects returned by AnimationEffectReadOnly, KeyframeEffectReadOnly, and KeyframeEffect.


var timingProperties = {
  iterationStart = iterationNumber

timingProperties.iterationStart = iterationNumber;


A floating-point value whose value is at least 0 and is not +Infinity, indicating the offset into the number of iterations the animation sequence is to run at which to start animating. iterationStart represents the iteration index at which the animation effect begins as well as its progress through that iteration.

Usually you'll use a value between 0.0 and 1.0 to indicate an offset into the first run of the animation at which to begin the animation performance, but any positive, non-infinite value is allowed. Since all animations' iteration indexes start at 0, a value of 0.5 would start the animation halfway through its first iteration or loop. Meanwhile, a value of 1.2 means the animation will begin playback 20% of the way through its second iteration, and so forth.

It's currently undefined what happens if you specify a value of iterationStart which is greater than the value of AnimationEffectTimingProperties.iterations. See issue 170 in the Web Animations API specification's issue tracker for details and status of any changes to the specification in this regard.


Web Animations Level 2 (Web Animations 2)
# iteration-start

Browser compatibility

BCD tables only load in the browser

See also