首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery动画连续动画

jquery动画连续动画
EN

Stack Overflow用户
提问于 2014-08-06 14:42:15
回答 1查看 138关注 0票数 1

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

我见过很多例子,人们使用.animate调用时,传入的函数是“完全”参数,但没有一个也有step函数。我知道这不重要,但我相信这是我的案子与众不同的原因。

代码语言:javascript
复制
    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);
                }
            }
        );
    }

它只会在第一次旋转。没有出现“已完成”警报。希望这是一个愚蠢的语法错误。有没有人?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-06 17:26:43

发生了这样的事情:警报被压制了。正在输入全部功能。

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

代码语言:javascript
复制
        var newp = document.createElement('p');
        newp.innerHTML = "text";
        newp.id = 'animatewelcome';
        $('#animatewelcome').remove();
        document.getElementById('animatewrapper').appendChild(newp);
        animateWelcome($('#animatewelcome'),7500);

我的猜测是,只有当一个元素旋转时才需要这样做,而简单的动画不需要这个“技巧”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25163358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档