首頁  >  文章  >  web前端  >  如何使用 jQuery 偵測 CSS3 轉換和動畫的結束?

如何使用 jQuery 偵測 CSS3 轉換和動畫的結束?

Patricia Arquette
Patricia Arquette原創
2024-11-04 06:46:30248瀏覽

How to Detect the End of CSS3 Transitions and Animations with jQuery?

利用CSS3 轉換:使用jQuery 偵測完成

使用CSS3 轉換為元素設定動畫時,有必要知道它們結束的準確時刻執行後續操作。與 jQuery 動畫不同,CSS3 過渡沒有內建完成回呼。

捕獲過渡結束事件

為了偵測過渡的結束,jQuery 提供了以下功能腳本:

<code class="javascript">$("#someSelector").bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(){ ... });</code>

對於動畫,可以使用類似的方法:

<code class="javascript">$("#someSelector").bind("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd", function(){ ... });</code>

透過傳遞所有帶有前綴的事件字串,此腳本將在多個瀏覽器上運行。

使用.one() 進行單次觸發

為了確保事件處理程序僅觸發一次,您可以使用jQuery 的.one() 方法而不是.bind ():

<code class="javascript">$("#someSelector").one("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(){ ... });

$("#someSelector").one("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd", function(){ ... });</code>

棄用和現代方法

jQuery 的.bind() 方法現已棄用。首選方法是 .on(),它與 .off() 結合使用。這是一個範例:

<code class="javascript">$("#someSelector")
.on("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd",
 function(e){
    // do something here
    $(this).off(e);
 });</code>

此方法確保回呼函數只執行一次。

以上是如何使用 jQuery 偵測 CSS3 轉換和動畫的結束?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn