首頁  >  效果  > animate(p,[s],[e],[fn])

返回值:jQuery animate(params,[speed],[easing],[fn])

概述

用於建立自定義動畫的函式。

這個函式的關鍵在於指定動畫形式及結果樣式屬性對象。這個對像中每個屬性都表示一個可以變化的樣式屬性(如「height」、「top」或「opacity」)。注意:所有指定的屬性必須用駱駝形式,比如用marginLeft代替margin-left.

而每個屬性的值表示這個樣式屬性到多少時動畫結束。如果是一個數值,樣式屬性就會從目前的值漸變到指定的值。如果使用的是「hide」、「show」或「toggle」這樣的字串值,則會為該屬性呼叫預設的動畫形式。

在 jQuery 1.2 中,你可以使用 em 和 % 單位。另外,在 jQuery 1.2 中,你可以通過在屬性值前面指定 "<em>+=</em>" 或 "<em>-=</em>" 來讓元素做相對運動。

jQuery 1.3中,如果duration設為0則直接完成動畫。而在以前版本中則會執行預設動畫。

jQuery 1.8中,當你使用CSS屬性在 css() animate() 中,我們將根據瀏覽器自動加上字首(在適當的時候),比如("user-select", "none"); 在Chrome/Safari瀏覽器中我們將設定為"-webkit-user-select", Firefox會使用"-moz-user-select", IE10將使用"-ms-user-select".

參數

params,[speed],[easing],[fn] Options,Number/String,String,Function V1.0

params :一組包含作為動畫屬性和終值的樣式屬性和及其值的集合

speed :三種預定速度之一的字串("slow","normal", or "fast")或表示動畫時長的毫秒數值(如:1000)

easing :要使用的擦除效果的名稱(需要外掛支援).預設jQuery提供"linear" 和 "swing".

fn :在動畫完成時執行的函式,每個元素執行一次。

params,options String,String V1.0

params ::一組包含作為動畫屬性和終值的樣式屬性和及其值的集合

options :動畫的額外選項。如:speed - 設定動畫的速度,easing - 規定要使用的 easing 函式,callback - 規定動畫完成之後要執行的函式,step - 規定動畫的每一步完成之後要執行的函式,queue - 布爾值。指示是否在效果佇列中放置動畫。如果為 false,則動畫將立即開始,specialEasing - 來自 styles 參數的一個或多個 CSS 屬性的對映,以及它們的對應 easing 函式

示例

描述:

點選按鈕后div元素的幾個不同屬性一同變化

HTML 程式碼:

<button id="go"> Run</button>
<div id="block">Hello!</div>
jQuery 程式碼:

// 在一個動畫中同時應用三種類型的效果
$("#go").click(function(){
  $("#block").animate({ 
    width: "90%",
    height: "100%", 
    fontSize: "10em", 
    borderWidth: 10
  }, 1000 );
});

描述:

讓指定元素左右移動

HTML 程式碼:

<button id="left">«</button> <button id="right">»</button>
<div class="block"></div>
jQuery 程式碼:

$("#right").click(function(){
  $(".block").animate({left: '+50px'}, "slow");
});

$("#left").click(function(){
  $(".block").animate({left: '-50px'}, "slow");
});

描述:

在600毫秒內切換段落的高度和透明度

jQuery 程式碼:

$("p").animate({
   height: 'toggle', opacity: 'toggle'
 }, "slow");

描述:

用500毫秒將段落移到left為50的地方並且完全清晰顯示出來(透明度為1)

jQuery 程式碼:

$("p").animate({
   left: 50, opacity: 'show'
 }, 500);

描述:

一個使用「easein」函式提供不同動畫樣式的例子。只有使用了外掛來提供這個「easein」函式,這個參數才起作用。

jQuery 程式碼:

$("p").animate({
   opacity: 'show'
 }, "slow", "easein");