1

有人可以帮助我尝试为 div 设置动画,使其向左移动 100 像素,然后返回到其原始位置/因此向右移动 100 像素。

我希望它在停止动画之前执行 5 次。

有人可以告诉我如何让它工作吗谢谢。

<script>

function loop() {
    $('.sign_up').animate({right:'+=100px'}, 1000, function() {
        $(this).animate({left:'-=100px'}, 1000, function() {
            loop();
        });
    });
}

$(function() {
    loop();
});

</script>
4

1 回答 1

0

您可以使用计数器来确定何时停止循环。例如:

<script type="text/javascript">
var loopCount = 0;
function loop() {
    $('.sign_up').animate({ left: '-=100px' }, 1000, function () {
        $(this).animate({ left: '+=100px' }, 1000, function () {
            loopCount++;
            if (loopCount < 5)
                loop();
        });
    });
}

$(function () {
    loop();
});
</script>

我还animate使用leftcss 属性而不是right. 当我声明sign_up div如下时,此代码对我有用:

<div class="sign_up"  style="position:absolute;top:300px;left:300px;width:200px;height:200px;background:Green;">
    Hello!
</div>

更新
这是一个有效的jsfiddle:http: //jsfiddle.net/peFVT/

于 2013-04-26T10:27:53.493 回答