在Web開發(fā)中,經(jīng)常會需要使用JavaScript來控制CSS動畫。當我們需要在動畫結(jié)束后執(zhí)行一些邏輯時,就需要知道如何監(jiān)控CSS動畫結(jié)束事件。
// 監(jiān)聽CSS動畫結(jié)束事件 var element = document.getElementById("animate"); element.addEventListener("animationend", function(event) { // 在動畫結(jié)束后執(zhí)行邏輯 });
在上面的代碼中,我們使用addEventListener()方法監(jiān)聽了CSS動畫結(jié)束事件。注意,我們通過animationend事件來監(jiān)控動畫的結(jié)束。
如果要兼容不同瀏覽器,還需要監(jiān)聽其他可能的事件。例如,由于在Safari瀏覽器中使用CSS動畫時會觸發(fā)webkitAnimationEnd事件,在Chrome瀏覽器中則會觸發(fā)animationend事件,因此我們需要監(jiān)聽這兩個事件:
// 監(jiān)聽CSS動畫結(jié)束事件 var element = document.getElementById("animate"); element.addEventListener("animationend", function(event) { // 在動畫結(jié)束后執(zhí)行邏輯 }); element.addEventListener("webkitAnimationEnd", function(event) { // 在動畫結(jié)束后執(zhí)行邏輯 });
除了animationend和webkitAnimationEnd事件外,還有transitionend和webkitTransitionEnd事件,它們用于監(jiān)聽CSS過渡結(jié)束事件。與animationend事件類似,我們可以通過addEventListener()方法來監(jiān)聽這些事件。
總之,無論是CSS動畫還是CSS過渡,在JavaScript中都可以通過監(jiān)聽相應的事件來控制動畫或過渡結(jié)束后的邏輯。這樣,我們就可以更加靈活地操作網(wǎng)頁中的動畫效果。
上一篇js 獲取css變量