Animation
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.
TheAnimation interface of theWeb Animations API represents a single animation player and provides playback controls and a timeline for an animation node or source.
In this article
Constructor
Animation()Creates a new
Animationobject instance.
Instance properties
Animation.currentTimeThe current time value of the animation in milliseconds, whether running or paused. If the animation lacks a
timeline, is inactive or hasn't been played yet, its value isnull.Animation.effectGets and sets the
AnimationEffectassociated with this animation. This will usually be aKeyframeEffectobject.Animation.finishedRead onlyReturns the current finished Promise for this animation.
Animation.idGets and sets the
Stringused to identify the animation.Animation.overallProgressRead onlyReturns a number between
0and1indicating the animation's overall progress towards its finished state.Animation.pendingRead onlyIndicates whether the animation is currently waiting for an asynchronous operation such as initiating playback or pausing a running animation.
Animation.playStateRead onlyReturns an enumerated value describing the playback state of an animation.
Animation.playbackRateGets or sets the playback rate of the animation.
Animation.readyRead onlyReturns the current ready Promise for this animation.
Animation.replaceStateRead onlyIndicates whether the animation is active, has been automatically removed after being replaced by another animation, or has been explicitly persisted by a call to
Animation.persist().Animation.startTimeGets or sets the scheduled time when an animation's playback should begin.
Animation.timelineGets or sets the
timelineassociated with this animation.
Instance methods
Animation.cancel()Clears all
keyframeEffectscaused by this animation and aborts its playback.Animation.commitStyles()Commits the current styling state of an animation to the element being animated, even after that animation has been removed. It will cause the current styling state to be written to the element being animated, in the form of properties inside a
styleattribute.Animation.finish()Seeks either end of an animation, depending on whether the animation is playing or reversing.
Animation.pause()Suspends playing of an animation.
Animation.persist()Explicitly persists an animation, preventing it from beingautomatically removed when another animation replaces it.
Animation.play()Starts or resumes playing of an animation, or begins the animation again if it previously finished.
Animation.reverse()Reverses playback direction, stopping at the start of the animation. If the animation is finished or unplayed, it will play from end to beginning.
Animation.updatePlaybackRate()Sets the speed of an animation after first synchronizing its playback position.
Events
cancelFires when the
Animation.cancel()method is called or when the animation enters the"idle"play state from another state.finishFires when the animation finishes playing.
removeFires when the animation isautomatically removed by the browser.
Accessibility concerns
Blinking and flashing animation can be problematic for people with cognitive concerns such as Attention Deficit Hyperactivity Disorder (ADHD). Additionally, certain kinds of motion can be a trigger for Vestibular disorders, epilepsy, and migraine, and Scotopic sensitivity.
Consider providing a mechanism for pausing or disabling animation, as well as using theReduced Motion Media Query (or equivalentuser agent client hintSec-CH-Prefers-Reduced-Motion) to create a complimentary experience for users who have expressed a preference for no animated experiences.
Specifications
| Specification |
|---|
| Web Animations> # the-animation-interface> |