动画:updatePlaybackRate() 方法
updatePlaybackRate()
方法是 Web 动画 API 的 Animation
接口,用于在首次同步其回放位置后设置动画的速度。
在某些情况下,动画可能会在单独的线程或进程上运行,并且即使长时间运行的 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 的浏览器中加载。
另请参阅
- Web 动画 API
-
Animation.playbackRate
— 读取当前播放速率或以同步方式设置它。 -
Animation.reverse()
— 反转播放速率并在必要时重新开始播放。 -
Animation
— 包含可用于控制网页动画的其他方法和属性。