2012-04-13 9 views

答えて

0

私は、リリースノートには何も表示されませんでしたが、広範なテストは、最大の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); 
     } 
    } 
} 
この質問を参照してください。
関連する問題