animate()方法允許您將動畫設(shè)置為設(shè)定值或相對于當(dāng)前值的值。
您需要將CSS屬性定義為JSON格式的參數(shù)(“key”:“value”)。
第二個參數(shù)定義了動畫的速度。
例如,以下代碼將div的width屬性在1秒內(nèi)改變到250px:
$("div").click(function() { $("div").animate({width: '250px'}, 1000); });
請注意提供CSS參數(shù)的JSON格式。 在處理CSS屬性時,JSON語法也被用于以前的模塊。
您可以使用上述語法對任何CSS屬性進行動畫處理,但有一個重要的事情要記?。寒?dāng)與animate()方法一起使用時,所有屬性名稱都必須是camel-cased(camelCase是寫復(fù)合詞或短語的做法, 每個單詞或縮寫以大寫字母開頭,第一個單詞以小寫形式顯示)。
您將需要編寫paddingLeft而不是padding-left,marginRight,而不是margin-right等等。
多個屬性可以通過用逗號分隔來同時動畫化。
例如:
$("div").animate({ width: '250px', height: '250px' }, 1000);
也可以定義相對值(該值相對于元素的當(dāng)前值)。 通過將+ =或 - =放在值的前面完成:
$("div").animate({ width: '+=250px', height: '+=250px' }, 1000);
要在動畫完成之前停止動畫,jQuery提供了stop()方法。
$("div"). ({ opacity: 0.5 height +="100px" }, );
動畫隊列
默認情況下,jQuery帶有動畫的隊列功能。
這意味著如果您寫了多個animate(),則jQuery會為這些方法創(chuàng)建一個“內(nèi)部”隊列。然后逐個運行動畫。
例如:
var div = $("div"); div.animate({opacity: 1}); div.animate({height: '+=100px', width: '+=100px', top: '+=100px'}, 500); div.animate({height: '-=100px', width: '-=100px', left: '+=100px'}, 500); div.animate({height: '+=100px', width: '+=100px', top: '-=100px'}, 500); div.animate({height: '-=100px', width: '-=100px', left: '-=100px'}, 500); div.animate({opacity: 0.5});
以上的animate()方法將一個接一個地運行。
記住,要操縱元素的位置,您需要將元素的CSS位置屬性設(shè)置為relative,fixed或absolute。
animate()方法,就像hide / show / fade / slide方法一樣,可以使用可選的回調(diào)函數(shù)作為其參數(shù),該參數(shù)在當(dāng)前效果完成后執(zhí)行。