动画

基线 广泛可用

此功能已得到很好的确立,并且可以在许多设备和浏览器版本上运行。它自以下时间起在浏览器中可用 2020 年 3 月.

AnimationWeb 动画 API 的一个接口,它表示单个动画播放器,并为动画节点或源提供播放控制和时间线。

EventTarget Animation

构造函数

Animation()

创建一个新的 Animation 对象实例。

实例属性

Animation.currentTime

动画的当前时间值(以毫秒为单位),无论是在运行还是暂停。如果动画缺少 timeline、处于非活动状态或尚未播放,则其值为 null

Animation.effect

获取并设置与该动画关联的 AnimationEffect。这通常是一个 KeyframeEffect 对象。

Animation.finished 只读

返回此动画的当前已完成 Promise。

Animation.id

获取和设置用于标识动画的 String

Animation.pending 只读

指示动画当前是否正在等待异步操作,例如启动播放或暂停正在运行的动画。

Animation.playState 只读

返回一个枚举值,描述动画的播放状态。

Animation.playbackRate

获取或设置动画的播放速率。

Animation.ready 只读

返回此动画的当前就绪 Promise。

Animation.replaceState 只读

指示动画是否处于活动状态、在被另一个动画替换后是否已自动删除,或者是否已通过调用 Animation.persist() 显式地保留。

Animation.startTime

获取或设置动画播放应开始的计划时间。

Animation.timeline

获取或设置与该动画关联的 timeline

实例方法

Animation.cancel()

清除此动画导致的所有 keyframeEffects,并中止其播放。

Animation.commitStyles()

即使在动画被移除后,也将动画的当前样式状态提交到正在动画化的元素。它将导致当前样式状态以 style 属性内的属性形式写入正在动画化的元素。

Animation.finish()

根据动画是播放还是反向播放,查找动画的任一端。

Animation.pause()

暂停动画播放。

Animation.persist()

显式地保留动画,防止它在另一个动画替换它时 被自动移除

Animation.play()

开始或恢复动画播放,或者如果动画先前已完成,则再次开始动画。

Animation.reverse()

反转播放方向,停止在动画的开头。如果动画已完成或未播放,它将从结束到开始播放。

Animation.updatePlaybackRate()

首先同步动画的播放位置,然后设置动画的速度。

事件

取消

当调用 Animation.cancel() 方法或动画从其他状态进入 "idle" 播放状态时触发。

完成

动画播放完成时触发。

移除

当动画被浏览器 自动移除 时触发。

无障碍问题

对于患有注意力缺陷多动障碍 (ADHD) 等认知障碍的人来说,闪烁和闪动动画可能存在问题。此外,某些类型的运动可能是前庭疾病、癫痫和偏头痛以及暗视敏锐度的诱因。

考虑提供暂停或禁用动画的机制,以及使用 减少运动媒体查询(或等效的 用户代理客户端提示 Sec-CH-Prefers-Reduced-Motion)为表示不希望动画体验的用户创建互补体验。

规范

规范
Web 动画
# the-animation-interface

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅