jQuery动画循环卡在第一个循环中

时间:2015-01-14 02:06:11

标签: javascript jquery jquery-animate

我试图在jQuery上做一个简单的动画。想法是将图像向右移动,然后返回到开始的位置。

A制作了这段代码:

function logo(img) {
    $(img).animate( {
       left: 100
    }, 900, function() {
       $(img).animate({
          left: 0,
       }, 900,  logo(img))
    })
}    

这个HTML

<div style="position: relative; width:500px; height: 55px; overflow: visible;">
<img class="pena" src="https://www.google.com.br/images/srpr/logo11w.png" width="50px" style="position: absolute; left: 0px; top: 0;" onclick="logo(this);">
</div>

http://jsfiddle.net/rtfmu5za/1/

但是在第一次动画播放时,她会陷入困境一段时间。在那之后,一切正常。

我在做什么?

1 个答案:

答案 0 :(得分:0)

您的代码确实存在一个奇怪的问题,我无法解释为什么会发生这种情况。试试这个解决方案,对我有用:

var position = 0;

function logo(img) {
    position = position == 0 ? 100 : 0;
    $(img).animate( {
        left: position
    }, 900, function () { logo(this) });
}

http://jsfiddle.net/oqLakcbj/