Animation: finish() method
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2020.
The finish()
method of the Web Animations API's Animation
Interface sets the current playback time to the end of the animation corresponding to the current playback direction.
That is, if the animation is playing forward, it sets the playback time to the length of the animation sequence, and if the animation is playing in reverse (having had its reverse()
method called), it sets the playback time to 0.
Syntax
finish()
Parameters
None.
Return value
None (undefined
).
Exceptions
InvalidState
-
The player's playback rate is 0 or the animation's playback rate is greater than 0 and the end time of the animation is infinity.
Examples
The following example shows how to use the finish()
method and catch an InvalidState
error.
interfaceElement.addEventListener("mousedown", () => {
try {
player.finish();
} catch (e) {
if (e instanceof InvalidState) {
console.log("finish() called on paused or finished animation.");
} else {
logMyErrors(e); //pass exception object to error handler
}
}
});
The following example finishes all the animations on a single element, regardless of their direction of playback.
elem.getAnimations().forEach((animation) => animation.finish());
Specifications
Specification |
---|
Web Animations # dom-animation-finish |
Browser compatibility
BCD tables only load in the browser
See also
- Web Animations API
Animation
for other methods and properties you can use to control web page animation.Animation.play()
to play an animation forward.Animation.reverse()
to play an animation backward.