Document: animationiteration event

The animationiteration event is fired when an iteration of a CSS Animation ends, and another one begins. This event does not occur at the same time as the animationend event, and therefore does not occur for animations with an animation-iteration-count of one.

Bubbles Yes
Cancelable No
Interface AnimationEvent
Event handler property onanimationiteration

The original target for this event is the Element that had the animation applied. You can listen for this event on the Document interface to handle it in the capture or bubbling phases. For full details on this event please see the page on HTMLElement: animationiteration.


This code uses animationiteration to keep track of the number of iterations an animation has completed:

let iterationCount = 0;

document.addEventListener('animationiteration', () => {
  console.log(`Animation iteration count: ${iterationCount}`);

The same, but using the onanimationiteration event handler property:

let iterationCount = 0;

document.onanimationiteration = () => {
  console.log(`Animation iteration count: ${iterationCount}`);

See a live example of this event.


CSS Animations Level 2 (CSS Animations 2)
# eventdef-animationevent-animationiteration

Browser compatibility

BCD tables only load in the browser

See also