CSS自定義動畫是CSS3新增的一個功能,可以通過自己編寫動畫代碼來實現更加個性化的效果。CSS自定義動畫播放完成后,我們可以使用animationend事件來進行相關處理。
/*定義一個動畫*/ @keyframes myAnimation { 0% { transform: scale(1); } 100% { transform: scale(1.5); } } /*使用動畫并綁定動畫結束事件*/ .box { animation: myAnimation 2s; } document.querySelector('.box').addEventListener('animationend', function() { console.log('動畫播放完成'); });
上面的代碼定義了一個名為myAnimation的動畫,然后在.box元素上應用該動畫,并且綁定animationend事件。當動畫播放完成后,會觸發這個事件,我們在事件處理函數中可以實現我們需要的功能,比如改變元素樣式或者執行其他函數。
需要注意的是:
- animationend事件會在CSS animation播放完成后觸發,包括正常播放完成、被取消(比如調用了animation-play-state:paused)和被強制停止(比如調用了animation-fill-mode: forwards)的情況。
- 如果一個元素上同時應用了多個動畫,會在所有動畫播放完成后才觸發animationend事件。
通過這種方法,我們可以在CSS自定義動畫播放完成后進行一些相關的操作,從而實現更加個性化、自由度更高的頁面效果。