今日の jQuery の最新バージョンで (バグ?) に遭遇しました。そこでは、背景位置をアニメーション化する再帰ループが機能しなくなりました。次の例を参照してください。
(これはバージョン 1.9 で動作しています) http://codepen.io/bonpixel/pen/qLkgt
cdn jquery を削除し、codepen ブートストラップ jquery (バージョン 1.10.0) を使用すると、ループしなくなりました。jquery 2.0.1 でも同じ結果が得られました。背景の配置に使用している -= または += に特に問題があるようです。新しい位置の計算に使用される値は、アニメーションの後 (またはアニメーション中) に更新されないかのようです。
何かご意見は?
(静的コードを追加して編集)
HTML
<div class="blue"><div>
CSS
.blue{
width: 100px;
height: 190px;
background: transparent;url(http://2.bp.blogspot.com/-6xJXVFMdC64/TckciX_eI7I/AAAAAAAAAEc/IYORj5mZXiY/s1600/wlk01.gif) 0 0 repeat-x;
}
JS
var backgroundSlidingLeft = function () {
$('.blue').animate({
'background-position-x': '-=100px',
'background-position-y': '0px'
}, 1000, 'linear', backgroundSlidingLeft);
};
backgroundSlidingLeft();