Jquery动画连续动画



我知道已经有很多关于jquery动画的问题,但我还没有找到任何适合我的。

我见过很多例子,人们使用。animate调用一个函数作为"完整"参数传入,但没有一个也有一个步骤函数。我知道这应该无关紧要,但我相信这是使我的情况不同的地方。

    var animateWelcome = function(targetElement,speed){
        $('#animatewelcome').animate(
            {
                r:360
            },
            {
                duration:speed,
                step:function(now,fx)
                {
                    if(fx.prop == 'r') r = now;
                    $('#animatewelcome').css('transform','rotateY('+r+'deg)');
                },
                complete:function()
                {
                    alert('done');
                    r = 0;
                    $('#animatewelcome').css('transform','');
                    animateWelcome(this,speed);
                }
            }
        );
    }

它将只旋转第一次。"完成"警告不会出现。希望这是一个愚蠢的语法错误。有人知道吗?

结果如下:警报被解除了。正在输入完整的函数。

要使元素保持旋转,需要做的是删除元素并读取元素:

        var newp = document.createElement('p');
        newp.innerHTML = "text";
        newp.id = 'animatewelcome';
        $('#animatewelcome').remove();
        document.getElementById('animatewrapper').appendChild(newp);
        animateWelcome($('#animatewelcome'),7500);

我猜只有在元素旋转时才需要这样做,更简单的动画不需要这个"技巧"

相关内容

  • 没有找到相关文章

最新更新