jQuery动画留下了一段时间

use*_*957 0 javascript jquery

我试图通过增加左侧的位置使div向右滑动,我希望它从左侧向右侧缓慢移动,然后循环回到开始位置.目前我只是试图让位置动画,所以它不会立即跳起 -

$('#pig').css('left', 200).animate(300);
Run Code Online (Sandbox Code Playgroud)

ade*_*neo 5

语法是

$('#pig').animate({left: 200}, 300);
Run Code Online (Sandbox Code Playgroud)

jQuery.animate文档

要在队列中添加动画,您可以将它们链接起来

$('#pig').animate({left: 200}, 300).animate({left: 0}, 300);
Run Code Online (Sandbox Code Playgroud)

小提琴

或使用回调参数,或使用jQuery的队列在队列中设置任意数量的动画

$('#pig').queue(function() {
    $(this).animate({left: 200}, 300);
    $(this).animate({left: 0}, 300);
}).dequeue();
Run Code Online (Sandbox Code Playgroud)

小提琴

或者为了使其递归,您可以使用两者的组合

(function ani() {
    $('#pig').queue(function() {
        $(this).animate({left: 200}, 300);
        $(this).animate({left: 0}, 300, ani);
    }).dequeue();
}());
Run Code Online (Sandbox Code Playgroud)

小提琴