仍然有jQuery背景动画的问题 – 在safari和IE中工作,没有别的!

几天前我创建了一个关于动画背景图像的线程。 我被建议使用一个工作正常的插件。 我使用的是jQuery 1.4.2 – 但是,我在网站上遇到了coda滑块的实际问题。 然后我决定更改为最新的jQuery(1.6.1),问题得到了解决。 另一方面,我的背景动画在某些浏览器中破裂了。

奇怪的是它适用于Mac上的safari,以及带有透明png修复的ie9,8,7甚至6。 它对我来说不适用于mac或pc上的firefox和mac上的opera。

还有其他人有这样的问题吗? 我花了一些时间制作这些图像,并希望将它排序! 必须有一些方法围绕这一点,或者我写的代码可能只是错误!?

我用实际的图像和脚本做了一个小提琴。 这是我做的第一个,所以我不是100%确定我做得对,随便说它是否需要调整……

你可以在这里找到jsfiddle

非常感谢 : )

看起来很漂亮 一般不会工作。

问题是background-position-x和background-position-y不是W3C规范。 我知道,我自己曾经遇到过这个问题几次。

您可以通过手动创建计时器并使用其配对的x / y值手动重建背景位置来解决此问题,但jQuery的动画将不适合您,因为background-position不是数值。

背景位置动画插件不适合你?

这在FF4中使用“ background-position : x, y ”而不是2个单独的属性:

 $('.trans_bg').css({ backgroundPosition: "0 0" }); $('.trans_bg').hover( function() { $(this).stop().animate({ backgroundPosition: "0 -250" }, 500); }, function() { $(this).stop().animate({ backgroundPosition: "0 0" }, 400); }); 

http://jsfiddle.net/69hZY/4/

找到一个非常好的插件链接从官方jQuery错误跟踪网站, http://bugs.jquery.com/ticket/9621

这是git hub上插件的链接,解决了我的问题,没有大惊小怪。

http://github.com/louisremi/jquery.backgroundXY.js

只是你知道除非浏览器实现这些属性,否则jquery核心库不会处理它。 希望这可以帮助。