为什么新版本的jQuery不能使用这种递归?

Why do the new version(s) of jQuery not work with this recursion?

本文关键字:递归 新版本 jQuery 不能 为什么      更新时间:2023-09-26

我今天在使用最新版本的jQuery时遇到了一个(bug?),我的递归循环动画背景位置不再工作。请看下面的例子:

(这适用于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();

@darkajax完全通过bugs.jquery.com/ticket/13939回答了这个问题

"相对动画(使用+=或-=)在1.10.0中被打破。"

谢谢!