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

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

jQuery animate() 方法概述

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

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

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

在 jQuery 1.2 中,你可以使用 em 和 % 單位。另外,在 jQuery 1.2 中,你可以通過(guò)在屬性值前面指定 "<em>+=</em>" 或 "<em>-=</em>" 來(lái)讓元素做相對(duì)運(yùn)動(dòng)。

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

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

參數(shù)

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

params:一組包含作為動(dòng)畫(huà)屬性和終值的樣式屬性和及其值的集合

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

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

fn:在動(dòng)畫(huà)完成時(shí)執(zhí)行的函數(shù),每個(gè)元素執(zhí)行一次。

params,optionsString,StringV1.0

params::一組包含作為動(dòng)畫(huà)屬性和終值的樣式屬性和及其值的集合

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

示例

描述:

點(diǎn)擊按鈕后div元素的幾個(gè)不同屬性一同變化

HTML 代碼:
<button id="go"> Run</button>
<div id="block">Hello!</div>
jQuery 代碼:
// 在一個(gè)動(dòng)畫(huà)中同時(shí)應(yīng)用三種類(lèi)型的效果
$("#go").click(function(){
  $("#block").animate({ 
    width: "90%",
    height: "100%", 
    fontSize: "10em", 
    borderWidth: 10
  }, 1000 );
});

描述:

讓指定元素左右移動(dòng)

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的地方并且完全清晰顯示出來(lái)(透明度為1)

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

描述:

一個(gè)使用“easein”函數(shù)提供不同動(dòng)畫(huà)樣式的例子。只有使用了插件來(lái)提供這個(gè)“easein”函數(shù),這個(gè)參數(shù)才起作用。

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