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()用於向後播放動畫。