Animation: pause() 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 pause()
method of the Web Animations API's Animation
interface suspends playback of the animation.
Syntax
js
animation.pause();
Parameters
None.
Return value
None.
Exceptions
InvalidStateError
DOMException
-
Thrown if the animation's
currentTime
isunresolved
(perhaps it hasn't started playing yet), and the end time of the animation is positive infinity.
Example
Animation.pause()
is used many times in the Alice in Web Animations API Land Growing/Shrinking Alice Game, largely because animations created with the Element.animate()
method immediately start playing and must be paused manually if you want to avoid that:
js
// animation of the cupcake slowly getting eaten up
const nommingCake = document
.getElementById("eat-me_sprite")
.animate(
[{ transform: "translateY(0)" }, { transform: "translateY(-80%)" }],
{
fill: "forwards",
easing: "steps(4, end)",
duration: aliceChange.effect.timing.duration / 2,
},
);
// doesn't actually need to be eaten until a click event, so pause it initially:
nommingCake.pause();
Additionally, when resetting:
js
// An all-purpose function to pause the animations on Alice, the cupcake, and the bottle that reads "drink me."
const stopPlayingAlice = () => {
aliceChange.pause();
nommingCake.pause();
drinking.pause();
};
// When the user releases the cupcake or the bottle, pause the animations.
cake.addEventListener("mouseup", stopPlayingAlice, false);
bottle.addEventListener("mouseup", stopPlayingAlice, false);
Specifications
Specification |
---|
Web Animations # dom-animation-pause |
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.reverse()
to play an animation backwards.Animation.finish()
to finish an animation.Animation.cancel()
to cancel an animation.