(本文轉載自: http://www.cnblogs.com/royis/articles/2109254.html)
animate(params, options) :用於建立自訂動畫的函數。
這個函數的關鍵在於指定動畫形式及結果樣式屬性對象。這個對象中每個屬性都表示一個可以變化的樣式屬性(如“height”、“top”或“opacity”)。注意:所有指定的屬性必須用駱駝形式,比如用marginLeft代替margin-left. 每個屬性的值表示這個樣式屬性到多少時動畫結束。如果是一個數值,樣式屬性就會從當前的值漸層到指定的值。
如果使用的是“hide”、“show”或“toggle”這樣的字串值,則會為該屬性調用預設的動畫形式。
參數:
params Options:一組包含作為動畫屬性和終值的樣式屬性和及其值的集合
options Options:一組包含動畫選項的值的集合。
選項:
duration String,Number:(預設值: "normal") 三種預定速度之一的字串("slow", "normal", or "fast")或表示動畫時間長度的毫秒數值(如:1000)
easing String:(預設值: "swing") 要使用的擦除效果的名稱(需要外掛程式支援).預設jQuery提供"linear" 和 "swing".
complete Function:在動畫完成時執行的函數
step Callback
queue Boolean(預設值: true) 設定為false將使此動畫不進入動畫隊列 (jQuery 1.2中新增)
Eg1:第一個按鈕按了之後展示了不在隊列中的動畫。在div擴充到90%的同時也在增加字型,一旦字型改變完畢後,邊框的動畫才開始。
HTML 代碼:
<button id="go1">Animate Block1</button><button id="go2">Animate Block2</button><div id="block1">Block1</div><div id="block2">Block2</div>
jQuery 代碼:
$("#go1").click(function(){$("#block1").animate( { width: "90%"}, { queue: false, duration: 5000 } ).animate( { fontSize: '10em' } , 1000 ).animate( { borderWidth: 5 }, 1000);});$("#go2").click(function(){$("#block2").animate( { width: "90%"}, 1000 ).animate( { fontSize: '10em' } , 1000 ).animate( { borderWidth: 5 }, 1000);});
Eg2:第二個按鈕按了之後就是一個傳統的鏈式動畫,即等前一個動畫完成後,後一個動畫才會開始.
Eg3:用600毫秒切換段落的高度和透明度
jQuery 代碼:
$("p").animate({height: 'toggle', opacity: 'toggle'}, { duration: "slow" });
Eg4:用500毫秒將段落移到left為50的地方並且完全清晰顯示出來(透明度為1)
jQuery 代碼:
$("p").animate({left: 50, opacity: 'show' }, { duration: 500 });
Eg5:一個使用“easein”函數提供不同動畫樣式的例子。只有使用了外掛程式來提供這個“easein”函數,這個參數才起作用。
jQuery 代碼:
$("p").animate({opacity: 'show'}, { duration: "slow", easing: "easein" });