Jquery动画-div跳跃?

Jquery动画-div跳跃?,jquery,jquery-animate,Jquery,Jquery Animate,我有一个机器人图像,我正试图用JQuery在屏幕外向左移动。 div的位置如下所示: #robot{ position:fixed; margin-left:800px; bottom:-40px; } 所以,它基本上处于中间底部。然后我制作动画: $('#robot').animate({left:"-=1000px"},12000,"linear", stopRobotTimer); 但是,只要动画开始,机器人就会跳到200像素左右然后开始12秒动画。是否尝试过从字面上

我有一个机器人图像,我正试图用JQuery在屏幕外向左移动。 div的位置如下所示:

#robot{
   position:fixed;
   margin-left:800px;
   bottom:-40px;
}
所以,它基本上处于中间底部。然后我制作动画:

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

但是,只要动画开始,机器人就会跳到
200像素左右
然后开始12秒动画。

是否尝试过从字面上设置预期终点

$('#robot').animate({left:"-200px"},12000,"linear", stopRobotTimer);
因为它是在css中定义的,所以在本例中应该只得到-200

编辑

我的错误-我忘了提到你应该将你的css delclaration改为左:800px;或将动画语句更改为:

$(“#机器人”)。动画({marginLeft:“-200px”},12000,“线性”,停止机器人定时器)


因为最初您的css没有指定“left”,而是指定了“marginleft”

当您使用
-=1000
时,首先更改
left
,然后开始设置动画。试着像下面那样改变它

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

看看你是否有一个填充/边距在妨碍你。有关此特定类型问题的详细信息,请参阅本文:。