5

我今天遇到了一个(错误?)最新版本的 jQuery,我的递归循环动画背景位置不再起作用。请看这个例子:

(这适用于 1.9 版) http://codepen.io/bonpixel/pen/qLkgt

删除 cdn jquery 并使用 codepen bootstrap 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 回答