2012-12-13 30 views
0

我試圖讓下面的代碼工作:獲取.animate()和。數據()一起工作

有這個奇怪的問題,當我使用elem.data第二.animate不起作用以獲得的價值,而當我使用提到價值具體如"left" : "200px"它似乎工作。

我在下面提到的代碼之前使用console.log()檢查了elem.data('prevLeft')elem.data('prevTop')的存在,並且這些值存在並且是正確的。

elem.animate({"width":"200px"},3000).animate({ 
    "left": elem.data('prevLeft'), 
    "top": elem.data('prevTop') 
},2000); 

什麼似乎是問題,是有沒有辦法,我可以通過存儲在變量值的.animate()功能?


迷失的功能被重新設定值,並就是爲什麼它不工作。 我重試了所有提到的方法,並且他們都工作。

對不起所有的麻煩。

+0

似乎是爲我工作:http://jsfiddle.net/jZGSk/你能讓你的情況的jsfiddle?它似乎必須是CSS或其他一些奇怪的問題。動畫工作與'200''200px'甚至200'似乎 –

+0

是的似乎工作http://jsfiddle.net/jZGSk/1/ – raam86

+0

@ mcpDESIGNS你的代碼似乎在jsfiddle工作,它不工作在什麼時候我將它與我的其他代碼整合在一起。 雖然我正在做一個elem.data(「prevLeft」,elem.css('left'))來存儲值,但我不知道這將會/應該如何影響任何東西。 而我沒有任何具體的CSS添加內聯添加頂部,左側,位置和一個id和一個類(它沒有對應的樣式表btw,使用它們僅用於js/jQuery)。 – ffledgling

回答

1

編輯,試試這個:

var prevLeft = elem.data('prevLeft'), 
var prevTop = elem.data('prevTop'); 

elem.animate({'width':'200px'},3000).animate({'top':prevTop,'left':prevLeft},2000); 

但如果svenhesse的答案沒有工作,我不知道這個意願。

+0

這似乎不工作。這是同樣的問題,只有寬度動畫的作品。 :-S – ffledgling

+0

更改了我的答案。 –

+0

請閱讀編輯。 – ffledgling

1

試試這個:

var conf = { 
    left: elem.data('left'), 
    right: elem.data('right') 
}; 

elem.animate(conf, 200);