3

在这里看到 jquery 1.5.0中缺少backgroundPosition动画是一个已知的错误。还是没有修好?

看到这个jsfiddle,在 jquery 1.4.4 中带有backgroundPosition动画,然后看看这个发现它甚至在 jquery 1.7.1 中也不起作用。

知道他们什么时候会解决这个问题吗?

我想知道,因为我刚刚在我的 Chrome 控制台中看到一个警告说:

event.layerX 和 event.layerY 在 WebKit 中被破坏和弃用。它们将在不久的将来从引擎中移除。

我担心我会继续使用 jquery 1.4.4 来制作动画功能,但 Chrome 会在下一次更新中拉取该功能。

更新

接受的答案,使用 background-position-x 和 y 的想法不适用于 Firefox。现在我将不得不回到 1.4.4,直到找到更好的解决方案。

4

2 回答 2

4

您需要像这样单独指定background-position-x和:-y

$('div').animate({
  'background-position-x': '-6000px', 'background-position-y': '-200px' }, 4000);

工作示例。(jQuery 1.7.1)

作为旁注,由于您background-position-y没有改变,您可以简单地省略那条额外的行,只需更改您的-x.

于 2011-12-29T03:15:24.010 回答
1

我在这里遇到了同样的问题:“puff of smoke” effect javascript sprite animation

似乎 jQuery 1.4.4 以上的较新版本启用了平滑的背景滚动效果,但代价是破坏了实际上依赖于视觉持久性的生涩的精灵动画。我会说 animate 功能不是为此而设计的,但当时它只是起作用(TM)。

为了制作我的背景位置精灵动画,我使用 setTimeout 编写了一个函数

http://jsfiddle.net/Y7Ek4/22/

它的级别更低,但根本没有更多的代码。

于 2012-04-16T16:03:08.883 回答