2014-01-28 45 views
2

如果我有像jQuery的動畫():存儲CSS鍵/值對

$('#element').animate({'top':'-140px'},2000); 

是否有可能以某種方式預先定義了一堆鍵/值對,這樣的話我就可以用

$('#element').animate(firstPos,2000).animate(secondPos,2000); 

在此先感謝。

+1

'var firstPos = {key:object}; var secondPos = {key:value}'? –

+0

如果您的目標瀏覽器支持CSS3關鍵幀,則它們按照您的要求進行操作。 –

+0

謝謝,夥計們。 @ Karl-似乎不工作? – Inigo

回答

3

閱讀。請參見下面的例子:

http://jsfiddle.net/3Fyb8/

var firstPos= {'top':'40px'}; 
var secondPos= {'top':'80px'}; 
$('#element').animate(firstPos,2000).animate(secondPos,2000); 
+0

它的工作原理 - 很好,謝謝。我試過這個,但沒有意識到我的網頁上還有其他錯誤。謝謝! – Inigo

0

簡短的回答是肯定的。你可以定義一個對象,如

firstPos = { 
    top: '-140px' 
}; 

secondPos = { 
    top: '0px' 
}; 

然後把它傳遞給你的animate()調用。然而,你可能不想鏈接你的動畫調用,而是在第一個動畫結束後觸發secondPos動畫。所以,你會要執行的第二個動畫回調中的第一,如:

$("#element").animate(firstPos, 2000, function() { $(this).animate(secondPos, 2000); }) 

可能還需要對stop()