2 回答

TA貢獻1887條經驗 獲得超5個贊
在js中監聽結束事件,如果要想監聽第一遍執行完成可以設置一個變量標識來判斷
例子
<style>
#test{width:100px; height:100px; background:#999;}
.scale{animation:scale 8s linear 0s infinite;}
@keyframes scale{
0%,100% {transform:scale(1.0)}
50% {transform:scale(1.2)}
20%,80% {transform:scale(1.1)}
}
</style>
<div id="test" class="scale"></div>
<script>
var isFirst = true;
var test = document.getElementById('test');
//動畫開始
test.addEventListener("webkitAnimationStart", function(){
console.log('動畫開始');
}, false);
//監聽動畫循環
//第一遍動作完成時
test.addEventListener("webkitAnimationIteration", function(){
if(isFirst){
console.log('一遍完成');
isFirst = false;
}
}, false);
</script>
添加回答
舉報