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

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

jQuery animate() 方法概述

用于創(chuàng)建自定義動畫的函數(shù)。

這個函數(shù)的關(guān)鍵在于指定動畫形式及結(jié)果樣式屬性對象。這個對象中每個屬性都表示一個可以變化的樣式屬性(如“height”、“top”或“opacity”)。注意:所有指定的屬性必須用駱駝形式,比如用marginLeft代替margin-left.

而每個屬性的值表示這個樣式屬性到多少時動畫結(jié)束。如果是一個數(shù)值,樣式屬性就會從當(dāng)前的值漸變到指定的值。如果使用的是“hide”、“show”或“toggle”這樣的字符串值,則會為該屬性調(diào)用默認(rèn)的動畫形式。

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

jQuery 1.3中,如果duration設(shè)為0則直接完成動畫。而在以前版本中則會執(zhí)行默認(rèn)動畫。

jQuery 1.8中,當(dāng)你使用CSS屬性在css()animate()中,我們將根據(jù)瀏覽器自動加上前綴(在適當(dāng)?shù)臅r候),比如("user-select", "none"); 在Chrome/Safari瀏覽器中我們將設(shè)置為"-webkit-user-select", Firefox會使用"-moz-user-select", IE10將使用"-ms-user-select".

參數(shù)

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

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

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

easing:要使用的擦除效果的名稱(需要插件支持).默認(rèn)jQuery提供"linear" 和 "swing".

fn:在動畫完成時執(zhí)行的函數(shù),每個元素執(zhí)行一次。

params,optionsString,StringV1.0

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

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

示例

描述:

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

HTML 代碼:
<button id="go"> Run</button>
<div id="block">Hello!</div>
jQuery 代碼:
// 在一個動畫中同時應(yīng)用三種類型的效果
$("#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毫秒內(nèi)切換段落的高度和透明度

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

描述:

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

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

描述:

一個使用“easein”函數(shù)提供不同動畫樣式的例子。只有使用了插件來提供這個“easein”函數(shù),這個參數(shù)才起作用。

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