5

今日の 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();
4

1 に答える 1

0

@darkajaxはbugs.jquery.com/ticket/13939を介して完全に回答しました

「相対アニメーション (+= または -= を使用) は 1.10.0 で壊れています。」

ありがとう!

于 2013-05-30T21:44:31.037 に答える