CSS 中設置動畫次數非常簡單,通過 animation-iteration-count 屬性即可實現。這個屬性規定動畫播放的次數,可以是一個數值,也可以是 infinite,表示無限播放。
/* 播放兩次 */ animation-iteration-count: 2; /* 播放無限次 */ animation-iteration-count: infinite;
不過需要注意的是,如果動畫在播放完所有循環后被暫停了,那么我們需要重新觸發播放。可以通過 JS 代碼來實現,如下:
const box = document.querySelector('.box'); box.addEventListener('animationend', () =>{ box.style.animationPlayState = 'paused'; setTimeout(() =>{ box.style.animationPlayState = 'running'; }, 0); });
這里使用了 animationend 事件來監聽動畫播放結束,然后將播放狀態設置為暫停。接著通過 setTimeout 函數將狀態設置為運行,這樣動畫就會重新播放。