我看到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,直到找到更好的解决方案。
答案 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
编写了一个函数它的级别更低,但根本不是更多的代码。