Animation: finish() 方法
finish() 方法是 Web Animations API 的 Animation 接口的一部分,它将当前播放时间设置为与当前播放方向对应的动画的结尾。
也就是说,如果动画正向前播放,则将其播放时间设置为动画序列的长度;如果动画正在反向播放(已调用其 reverse() 方法),则将其播放时间设置为 0。
语法
js
finish()
参数
无。
返回值
无(undefined)。
异常
InvalidState-
播放器的播放速率为 0,或者动画的播放速率大于 0 且动画的结束时间为无穷大。
示例
下面的示例演示了如何使用 finish() 方法并捕获 InvalidState 错误。
js
interfaceElement.addEventListener("mousedown", () => {
try {
player.finish();
} catch (e) {
if (e instanceof InvalidState) {
console.log("finish() called on paused or finished animation.");
} else {
logMyErrors(e); // Pass exception object to error handler
}
}
});
下面的示例将完成单个元素上的所有动画,而无论其播放方向如何。
js
elem.getAnimations().forEach((animation) => animation.finish());
规范
| 规范 |
|---|
| Web 动画 # dom-animation-finish |
浏览器兼容性
加载中…
另见
- Web Animations API
- 用于控制网页动画的其他方法和属性的
Animation。 Animation.play()用于向前播放动画。Animation.reverse()用于向后播放动画。