2011-12-12 78 views
1

我有一個機器人圖像,我試圖用JQuery移動到屏幕左側。 DIV的定位,像這樣:jquery動畫 - div跳轉?

#robot{ 
    position:fixed; 
    margin-left:800px; 
    bottom:-40px; 
} 

因此,它基本上是在底部中間。然後我動畫:

$('#robot').animate({left:"-=1000px"},12000,"linear", stopRobotTimer); 

它的工作原理,但是一旦有生開始,機器人跳約200 pixels left,然後開始了12秒的動畫。

+1

看看你是否有一個填充/邊緣阻礙。看看這篇文章,瞭解更多關於這個特定類型的問題:http://jqueryfordesigners.com/animation-jump-quick-tip/。 – JesseBuesking

回答

0

您是否嘗試過直接設置預期的終點?

$('#robot').animate({left:"-200px"},12000,"linear", stopRobotTimer); 

你這樣做 - =這應該只是導致-200在這種情況下,因爲它是在你的css中定義的。

編輯

我的錯 - 我忘了提及你要麼應該改變你的CSS delclaration至左:800像素;或者將您的動畫語句更改爲:

$('#robot')。animate({marginLeft:「 - 200px」},12000,「linear」,stopRobotTimer);

事業開始你的CSS不指定「左」它,而不是指定的「保證金左」

0

當您使用-=1000,首先你改變left然後開始動畫。試着改變它像下面這樣

$('#robot').animate({left:"=-200px"},12000,"linear", stopRobotTimer);