我有一个机器人图像,我正在尝试使用JQuery向屏幕左侧移动。 div的定位如下:
#robot{
position:fixed;
margin-left:800px;
bottom:-40px;
}
所以,它基本上处于中间底部。然后我动画:
$('#robot').animate({left:"-=1000px"},12000,"linear", stopRobotTimer);
它有效,但是一旦动画开始,机器人会跳转200 pixels left
然后开始12秒动画。
答案 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);