动画
接口在
Web 动画 API
represents a single animation player and provides playback controls and a timeline for an animation node or source.
Animation()
动画
对象实例。
Animation.currentTime
timeline
, is inactive or hasn't been played yet, its value is
null
.
Animation.effect
AnimationEffectReadOnly
associated with this animation. This will usually be a
KeyframeEffect
对象。
Animation.finished
只读
Returns the current finished Promise for this animation.
Animation.id
字符串
used to identify the animation.
Animation.pending
只读
Indicates whether the animation is currently waiting for an asynchronous operation such as initiating playback or pausing a running animation.
Animation.playState
只读
Returns an enumerated value describing the playback state of an animation.
Animation.playbackRate
Gets or sets the playback rate of the animation.
Animation.ready
只读
Returns the current ready Promise for this animation.
animation.replaceState
active
if the animation has been replaced, or
persisted
if
Animation.persist()
has been invoked on it.
Animation.startTime
Gets or sets the scheduled time when an animation's playback should begin.
Animation.timeline
timeline
associated with this animation.
Animation.oncancel
cancel
事件。
Animation.onfinish
finish
事件。
animation.onremove
active
replace state).
Animation.cancel()
keyframeEffects
caused by this animation and aborts its playback.
animation.commitStyles()
style
属性。
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()
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.
It is possible to trigger a large number of animations on the same element. If they are indefinite (i.e., forwards-filling), this can result in a huge animations list, which could create a memory leak. For this reason, modern browsers have implemented the part of the Web Animations spec that automatically removes overriding forward filling animations, unless the developer explicitly specifies to keep them.
You can see this in action in our simple replace indefinite animations demo . The related JavaScript features are:
animation.commitStyles()
for commiting the end styling state of an animation to the element being animated, even after that animation has been removed.
animation.onremove
for setting and running an event handler that fires when the animation is removed (i.e., put into an
active
replace state).
animation.persist()
for when you explicitly want an animations to be retained.
animation.replaceState
to return the replace state of the animation. This will be
active
if the animation has been removed, or
persisted
if
persist()
has been invoked.
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 the Reduced Motion Media Query to create a complimentary experience for users who have expressed a preference for no animated experiences.
| 规范 | 状态 | 注释 |
|---|---|---|
|
Web 动画
在该规范中的 Animation 定义。 |
工作草案 | 初始定义 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
动画
|
Chrome
44
|
Edge ≤79 |
Firefox
48
|
IE No | Opera 26 | Safari 13.1 |
WebView Android
44
|
Chrome Android
44
|
Firefox Android
48
|
Opera Android 26 | Safari iOS 13.4 | Samsung Internet Android 4.0 |
Animation()
构造函数
|
Chrome 61 | Edge ≤79 |
Firefox
48
|
IE No | Opera 48 | Safari No | WebView Android 61 | Chrome Android 61 |
Firefox Android
48
|
Opera Android 45 | Safari iOS No | Samsung Internet Android 8.0 |
cancel
|
Chrome 39 | Edge ≤79 |
Firefox
48
|
IE No | Opera 26 | Safari No | WebView Android 39 | Chrome Android 39 |
Firefox Android
48
|
Opera Android 26 | Safari iOS No | Samsung Internet Android 4.0 |
commitStyles
|
Chrome
No
|
Edge No | Firefox 75 | IE No | Opera No | Safari 13.1 | WebView Android No |
Chrome Android
No
|
Firefox Android No | Opera Android No |
Safari iOS
部分支持
13.4
|
Samsung Internet Android No |
currentTime
|
Chrome 39 | Edge ≤79 |
Firefox
48
|
IE No | Opera 26 | Safari No | WebView Android 39 | Chrome Android 39 |
Firefox Android
48
|
Opera Android 26 | Safari iOS No | Samsung Internet Android 4.0 |
effect
|
Chrome No | Edge No |
Firefox
63
|
IE No | Opera No | Safari No | WebView Android No | Chrome Android No |
Firefox Android
63
|
Opera Android No | Safari iOS No | Samsung Internet Android No |
finish
|
Chrome 39 | Edge ≤79 |
Firefox
48
|
IE No | Opera 26 | Safari No | WebView Android 39 | Chrome Android 39 |
Firefox Android
48
|
Opera Android 26 | Safari iOS No | Samsung Internet Android 4.0 |
finished
|
Chrome No | Edge No |
Firefox
63
|
IE No | Opera No | Safari No | WebView Android No | Chrome Android No |
Firefox Android
63
|
Opera Android No | Safari iOS No | Samsung Internet Android No |
id
|
Chrome 50 | Edge ≤79 |
Firefox
48
|
IE No | Opera 37 | Safari No | WebView Android 50 | Chrome Android 50 |
Firefox Android
48
|
Opera Android 37 | Safari iOS No | Samsung Internet Android 5.0 |
oncancel
|
Chrome 50 | Edge ≤79 |
Firefox
48
|
IE No | Opera 37 | Safari No | WebView Android 50 | Chrome Android 50 |
Firefox Android
48
|
Opera Android 37 | Safari iOS No | Samsung Internet Android 5.0 |
onfinish
|
Chrome 39 | Edge ≤79 |
Firefox
48
|
IE No | Opera 26 | Safari No | WebView Android 39 | Chrome Android 39 |
Firefox Android
48
|
Opera Android 26 | Safari iOS No | Samsung Internet Android 4.0 |
onremove
|
Chrome
No
|
Edge No | Firefox 75 | IE No | Opera No | Safari 13.1 | WebView Android No |
Chrome Android
No
|
Firefox Android No | Opera Android No | Safari iOS 13.4 | Samsung Internet Android No |
pause
|
Chrome 39 | Edge ≤79 |
Firefox
48
|
IE No | Opera 26 | Safari No | WebView Android 39 | Chrome Android 39 |
Firefox Android
48
|
Opera Android 26 | Safari iOS No | Samsung Internet Android 4.0 |
pending
|
Chrome No | Edge No |
Firefox
59
|
IE No | Opera No | Safari No | WebView Android No | Chrome Android No |
Firefox Android
59
|
Opera Android No | Safari iOS No | Samsung Internet Android No |
persist
|
Chrome
No
|
Edge No | Firefox 75 | IE No | Opera No | Safari 13.1 | WebView Android No |
Chrome Android
No
|
Firefox Android No | Opera Android No | Safari iOS 13.4 | Samsung Internet Android No |
play
|
Chrome 39 | Edge ≤79 |
Firefox
48
|
IE No | Opera 26 | Safari No | WebView Android 39 | Chrome Android 39 |
Firefox Android
48
|
Opera Android 26 | Safari iOS No | Samsung Internet Android 4.0 |
playbackRate
|
Chrome 39 | Edge ≤79 |
Firefox
48
|
IE No | Opera 26 | Safari No | WebView Android 39 | Chrome Android 39 |
Firefox Android
48
|
Opera Android 26 | Safari iOS No | Samsung Internet Android 4.0 |
playState
|
Chrome
39
|
Edge ≤79 |
Firefox
48
|
IE No |
Opera
26
|
Safari No |
WebView Android
39
|
Chrome Android
39
|
Firefox Android
48
|
Opera Android
26
|
Safari iOS No |
Samsung Internet Android
4.0
|
ready
|
Chrome No | Edge No |
Firefox
63
|
IE No | Opera No | Safari No | WebView Android No | Chrome Android No |
Firefox Android
63
|
Opera Android No | Safari iOS No | Samsung Internet Android No |
| Browsers automatically remove indefinite filling animations . |
Chrome
No
|
Edge No | Firefox 75 | IE No | Opera No | Safari 13.1 | WebView Android No |
Chrome Android
No
|
Firefox Android No | Opera Android No | Safari iOS 13.4 | Samsung Internet Android No |
replaceState
|
Chrome
No
|
Edge No | Firefox 75 | IE No | Opera No | Safari 13.1 | WebView Android No |
Chrome Android
No
|
Firefox Android No | Opera Android No | Safari iOS 13.4 | Samsung Internet Android No |
reverse
|
Chrome 39 | Edge ≤79 |
Firefox
48
|
IE No | Opera 26 | Safari No | WebView Android 39 | Chrome Android 39 |
Firefox Android
48
|
Opera Android 26 | Safari iOS No | Samsung Internet Android 4.0 |
startTime
|
Chrome 39 | Edge ≤79 |
Firefox
48
|
IE No | Opera 26 | Safari No | WebView Android 39 | Chrome Android 39 |
Firefox Android
48
|
Opera Android 26 | Safari iOS No | Samsung Internet Android 4.0 |
timeline
|
Chrome
No
|
Edge No |
Firefox
75
|
IE No | Opera No |
Safari
13.1
|
WebView Android No |
Chrome Android
No
|
Firefox Android
63
Disabled
|
Opera Android No |
Safari iOS
13.4
|
Samsung Internet Android No |
updatePlaybackRate
|
Chrome No | Edge No | Firefox 60 | IE No | Opera No | Safari No | WebView Android No | Chrome Android No | Firefox Android 60 | Opera Android No | Safari iOS No | Samsung Internet Android No |
完整支持
部分支持
不支持
实验。期望将来行为有所改变。
见实现注意事项。
用户必须明确启用此特征。
使用非标名称。
动画