如何使用 jQuery 實作跨瀏覽器 CSS 旋轉動畫?
使用jQuery.animate() 進行跨瀏覽器CSS 旋轉
問題:
執行使用jQuery.animate() 的CSS 旋轉動畫無法跨瀏覽器運作。使用 .css() 時旋轉有效,但使用 .animate() 時則無效。
原因:
CSS-Transforms 無法直接使用 jQuery 進行動畫處理。
解決方案:
執行使用 jQuery 進行 CSS-Transform動畫,可以使用以下替代方法:
function AnimateRotate(angle) { var $elem = $('#MyDiv2'); $({deg: 0}).animate({deg: angle}, { duration: 2000, step: function(now) { $elem.css({ transform: 'rotate(' + now + 'deg)' }); } }); }
說明:
此方法使用自定義的“step”回調函數來更新動畫每個步驟中所選元素的“transform”屬性。 「step」函數會接收目前動畫位置(現在)作為參數,您可以使用它來計算所需的旋轉角度。
外掛程式:
您可以將此方法封裝到 jQuery插件中方便使用:
$.fn.animateRotate = function(angle, duration, easing, complete) { return this.each(function() { var $elem = $(this); $({deg: 0}).animate({deg: angle}, { duration: duration, easing: easing, step: function(now) { $elem.css({ transform: 'rotate(' + now + 'deg)' }); }, complete: complete || $.noop }); }); };
用法:
要使用插件,您只需呼叫:
$('#MyDiv2').animateRotate(90);
更新:
提供的解決方案已更新多次,以提高效率並提供更多靈活性。
- 更新 2:最佳化以使參數的順序無關緊要。
- 更新 2.1:修正了上下文問題完成回調。
- 更新2.2:新增了切換動畫的啟動參數。
其他使用詳細資訊:
- animateRotate 函數接受多個選用參數,包括持續時間、緩動和完整,並提供預設值。
- 使用者可以透過多種方式提供這些參數,無論是位置參數參數或作為物件。
- 「step」函數提供對每個動畫步驟的旋轉的額外控制。
以上是如何使用 jQuery 實作跨瀏覽器 CSS 旋轉動畫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

在元素個數不固定的情況下如何通過CSS選擇第一個指定類名的子元素在處理HTML結構時,常常會遇到元素個數不�...

關於Flex佈局中紫色斜線區域的疑問在使用Flex佈局時,你可能會遇到一些令人困惑的現象,比如在開發者工具(d...

格子呢是一塊圖案布,通常與蘇格蘭有關,尤其是他們時尚的蘇格蘭語。在Tartanify.com上,我們收集了5,000多個格子呢
