动画在 jQuery >1.4.x 中被破坏

Posted

技术标签:

【中文标题】动画在 jQuery >1.4.x 中被破坏【英文标题】:Animation destroyed in jQuery >1.4.x 【发布时间】:2012-04-26 07:16:54 【问题描述】:

为什么包含最新的jQuery版本而不是1.4.2版本时倒计时的翻转动画不起作用?

Animation demo

【问题讨论】:

【参考方案1】:

虽然我在发行说明中没有看到任何内容,但广泛的测试似乎表明,从 jQuery 1.5.0 及更高版本开始,您必须分别为 background-position-xbackground-position-y 设置动画。看到这个问题:jquery animate background position

此代码适用于 jQuery 1.5.0:

// Animation function
function animateDigit(which, oldDigit, newDigit)
    var speed = 80;
    var pos = getPos(which, oldDigit);
    var newPos = getPos(which, newDigit);
    // Each animation is 5 frames long, and 103px down the background image.
    // We delay each frame according to the speed above.
    for (var k = 0; k < animationFrames; k++)
        pos -= frameShift;
        if (k == (animationFrames - 1))
            $("#" + which).delay(speed).animate('background-position-y': pos + 'px', 0, function()
                // At end of animation, shift position to new digit.
                $("#" + which).css('background-position': '0 ' + newPos + 'px', 0);
            );
        
        else
            $("#" + which).delay(speed).animate('background-position-y': pos + 'px', 0);
        
    

【讨论】:

以上是关于动画在 jQuery >1.4.x 中被破坏的主要内容,如果未能解决你的问题,请参考以下文章

是啥用 jQuery 动画破坏了这个功能?

OneWayToSource 绑定似乎在 .NET 4.0 中被破坏

Swift Facebook 登录在 dispatch_once 中被破坏

Angular ng build --watch 似乎在 Angular 版本 11 中被破坏了

为啥这个 flexbox 布局在 Safari 中被破坏了?

jquery的animate动画能不能在IE中执行