2

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

动画演示

4

1 回答 1

0

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

此代码适用于 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);
        }
    }
}
于 2012-04-14T03:38:21.287 回答