首頁 > web前端 > js教程 > 主體

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

Patricia Arquette
發布: 2024-11-04 06:46:30
原創
247 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板