選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

jQuery Effects - 動畫


使用 jQuery,您可以建立自定義動畫。



jQuery

jQuery 動畫 - animate() 方法

jQuery 的 animate() 方法用於建立自定義動畫。

語法

$(selector).animate({params},speed,callback);

必需的 params 引數定義了要進行動畫處理的 CSS 屬性。

可選的 speed 引數指定了效果的持續時間。它可以接受以下值:“slow”(慢)、“fast”(快)或毫秒。

可選的 callback 引數是一個在動畫完成時執行的函式。

以下示例演示了 animate() 方法的簡單用法;它將一個 <div> 元素向右移動,直到其 left 屬性達到 250px。

示例

$("button").click(function(){
  $("div").animate({left: '250px'});
}); 
自己動手試一試 »

預設情況下,所有 HTML 元素的位置屬性都是 static,無法移動。
要操作位置,請記住先將元素的 CSS position 屬性設定為 relative、fixed 或 absolute!



jQuery animate() - 操作多個屬性

請注意,可以同時為多個屬性新增動畫。

示例

$("button").click(function(){
  $("div").animate({
    left: '250px',
    opacity: '0.5',
    height: '150px',
    width: '150px'
  });
}); 
自己動手試一試 »

是否可以使用 animate() 方法操作所有 CSS 屬性?

是的,幾乎可以!但是,有一件重要的事情要記住:所有屬性名在使用 animate() 方法時都必須是駝峰式命名:您需要寫 paddingLeft 而不是 padding-left, marginRight 而不是 margin-right,依此類推。

此外,顏色動畫不包含在核心 jQuery 庫中。
如果您想為顏色新增動畫,需要從 jQuery.com 下載 Color Animations 外掛


jQuery animate() - 使用相對值

也可以定義相對值(該值相對於元素的當前值)。這是透過在值前面加上 += 或 -= 來實現的。

示例

$("button").click(function(){
  $("div").animate({
    left: '250px',
    height: '+=150px',
    width: '+=150px'
  });
}); 
自己動手試一試 »

jQuery animate() - 使用預定義值

您甚至可以將屬性的動畫值指定為“show”(顯示)、“hide”(隱藏)或“toggle”(切換)。

示例

$("button").click(function(){
  $("div").animate({
    height: 'toggle'
  });
}); 
自己動手試一試 »

jQuery animate() - 使用佇列功能

預設情況下,jQuery 為動畫提供了佇列功能。

這意味著,如果您連續編寫多個 animate() 呼叫,jQuery 會建立一個“內部”佇列來儲存這些方法呼叫。然後它將按順序一一執行這些 animate 呼叫。

因此,如果您想依次執行不同的動畫,可以利用佇列功能。

示例 1

$("button").click(function(){
  var div = $("div");
  div.animate({height: '300px', opacity: '0.4'}, "slow");
  div.animate({width: '300px', opacity: '0.8'}, "slow");
  div.animate({height: '100px', opacity: '0.4'}, "slow");
  div.animate({width: '100px', opacity: '0.8'}, "slow");
}); 
自己動手試一試 »

下面的示例首先將 <div> 元素向右移動,然後增加文字的字型大小。

示例 2

$("button").click(function(){
  var div = $("div");
  div.animate({left: '100px'}, "slow");
  div.animate({fontSize: '3em'}, "slow");
}); 
自己動手試一試 »

jQuery 練習

透過練習來測試自己

練習

使用 animate() 方法將 <div> 元素向右移動 250 畫素。

$("div").animate({: ''});

開始練習


jQuery Effects 參考

有關所有 jQuery 效果的完整概述,請訪問我們的 jQuery Effect Reference


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援