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 is unresolved (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