我试图通过增加左侧的位置使div向右滑动,我希望它从左侧向右侧缓慢移动,然后循环回到开始位置。目前我只是试图为位置设置动画,因此它不会立即跳跃 -
$('#pig').css('left', 200).animate(300);
答案 0 :(得分:5)
语法是
$('#pig').animate({left: 200}, 300);
要在队列中添加动画,您可以将它们链接起来
$('#pig').animate({left: 200}, 300).animate({left: 0}, 300);
或使用回调参数,或使用jQuery的队列在队列中设置任意数量的动画
$('#pig').queue(function() {
$(this).animate({left: 200}, 300);
$(this).animate({left: 0}, 300);
}).dequeue();
或为了使其递归,您可以使用两者的组合
(function ani() {
$('#pig').queue(function() {
$(this).animate({left: 200}, 300);
$(this).animate({left: 0}, 300, ani);
}).dequeue();
}());
答案 1 :(得分:1)
Adeneo的回答是正确的,但你也要求回到开始。假设您希望div返回其原始位置,您需要链接另一个动画:
$('#pig').animate({left: 200}, 300, function() {
$('#pig').animate({left: 0}, 300);
});
答案 2 :(得分:0)
setTimeout(function () {
$('#pig')
.css('left', 200)
.animate(300)
}, 1000)