为什么我不能使backgroundPosition动画超过jquery 1.4.4?

时间:2011-12-29 03:07:19

标签: jquery google-chrome jquery-animate background-position

我看到here jquery 1.5.0中缺少backgroundPosition动画是一个已知错误。它还没有修好吗?

请参阅此jsfiddle,在jquery 1.4.4中使用backgroundPosition动画,然后查看此one,并查看它在jquery 1.7.1中无法正常工作。

有什么想法他们要解决这个问题吗?

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

  

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

我担心我将继续使用jquery 1.4.4进行动画制作功能,但Chrome会在下次更新时提取该功能。

更新

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

2 个答案:

答案 0 :(得分:4)

您需要分别指定background-position-x-y

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

Working example. (jQuery 1.7.1)

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

答案 1 :(得分:1)

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

似乎更新版本的1.4.4以上的jQuery能够实现平滑的背景滚动效果,其代价是破坏精灵动画,实际上依赖于视觉的持久性。我会说动画功能不适用于此,但它刚刚起作用(TM)。

为了制作我的背景位置精灵动画,我使用setTimeout

编写了一个函数

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

它的级别更低,但根本不是更多的代码。