2

バージョン1.4.2ではなく最新のjQueryバージョンを含めると、カウントダウンのフリップアニメーションが機能しないのはなぜですか?

アニメーションデモ

4

1 に答える 1

0

リリースノートには何も表示されていませんが、広範なテストにより、jQuery1.5.0以降ではアニメーション化して個別に行う必要があることが明らかになったbackground-position-xようbackground-position-y です。この質問を参照してください:jqueryは背景の位置をアニメーション化します

このコードはjQuery1.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 に答える