Jquery动画 - div跳?

时间:2011-12-12 23:05:24

标签: jquery jquery-animate

我有一个机器人图像,我正在尝试使用JQuery向屏幕左侧移动。 div的定位如下:

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

所以,它基本上处于中间底部。然后我动画:

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

它有效,但是一旦动画开始,机器人会跳转200 pixels left然后开始12秒动画。

2 个答案:

答案 0 :(得分:0)

您是否尝试过字面设置预期结束点?

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

你做 - =在这种情况下应该只产生-200,因为它是在你的css中定义的。

修改

我的错误 - 我忘记提及你要么将你的css声明改为左:800px;或者将您的动画声明更改为:

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

因为最初你的css没有指定“left”而是指定“margin-left”

答案 1 :(得分:0)

使用-=1000时,首先更改left,然后开始设置动画。尝试改变它,如下所示

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