Animation: ready 属性

Baseline 已广泛支持

此特性已经十分成熟,可在许多设备和浏览器版本上使用。自 2020 年 7 月以来,它已在各大浏览器中可用。

Animation.readyWeb Animations API 中的一个只读属性,它返回一个 Promise,当动画准备好播放时,该 Promise 会解析。每当动画进入 "pending" play state 或动画被取消时,都会创建一个新的 Promise,因为在这两种情况下,动画都已准备好再次启动。

注意: 由于 playpause 请求都使用相同的 Promise,因此建议作者在 Promise 解析时检查动画的状态。

一个 Promise,当动画准备好播放时,它会解析。通常,在使用 ready Promise 时,你会使用类似这样的结构:

js
animation.ready.then(() => {
  // Do whatever needs to be done when
  // the animation is ready to run
});

示例

在以下示例中,当 **当前的 ready Promise** 解析时,动画的状态将是 running,因为在调用 pauseplay 之间,动画没有离开 pending 播放状态,因此 **当前的 ready Promise** 没有改变。

js
animation.pause();
animation.ready.then(() => {
  // Displays 'running'
  alert(animation.playState);
});
animation.play();

规范

规范
Web 动画
# dom-animation-ready

浏览器兼容性

另见