动画:updatePlaybackRate() 方法

基线 广泛可用

此功能已得到完善,可在许多设备和浏览器版本上运行。它已在浏览器中可用,自 2020 年 3 月.

updatePlaybackRate() 方法是 Web 动画 APIAnimation 接口,用于在首次同步其回放位置后设置动画的速度。

在某些情况下,动画可能会在单独的线程或进程上运行,并且即使长时间运行的 JavaScript 延迟了主线程,它也会继续更新。在这种情况下,直接在动画上设置 playbackRate 可能会导致动画的回放位置跳跃,因为其在主线程上的回放位置可能已偏离其当前运行的回放位置。

updatePlaybackRate() 是一种异步方法,它在与当前回放位置同步后设置动画的速度,确保速度的最终变化不会产生急剧的跳跃。调用 updatePlaybackRate() 后,动画的 playbackRate 不会立即更新。一旦动画的 ready promise 解析,它将被更新。

语法

js
updatePlaybackRate(playbackRate)

参数

playbackRate

要设置的新速度。这可以是正数(加快或减慢动画)、负数(使其反向播放)或零(有效暂停动画)。

返回值

无 (undefined)。

示例

速度选择器组件将受益于 updatePlaybackRate() 的平滑更新,如下所示

js
speedSelector.addEventListener("input", (evt) => {
  cartoon.updatePlaybackRate(parseFloat(evt.target.value));
  cartoon.ready.then(() => {
    console.log(`Playback rate set to ${cartoon.playbackRate}`);
  });
});

规范

规范
Web 动画
# dom-animation-updateplaybackrate

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅