jQuery背景位置在FireFox中不起作用?

可能重复:
jquery.animate background-position不起作用

我有一个小脚本动画背景位置,遗憾的是它在FireFox中不起作用。
它适用于IE和Chrome。

$('#background').animate({ 'background-position-x': -1020 }); 

怎么在FireFox中不起作用?
提前致谢!

你可以随时创建自己的小插件,这并不难。

使用jQuery 1.8,我们现在可以访问$ .Animation方法,它直接为我们提供动画值,而不需要太多工作,所以我们可以这样做:

 $.fn.animateBG = function(x, y, speed) { var pos = this.css('background-position').split(' '); this.x = parseInt(pos[0]) || 0; this.y = parseInt(pos[1]) || 0; $.Animation( this, { x: x, y: y }, { duration: speed }).progress(function(e) { this.css('background-position', e.tweens[0].now+'px '+e.tweens[1].now+'px'); }); return this; } 

然后使用它我们可以做:

 $("#background").animateBG(x-value, y-value, speed);​ 

实例:$(“#background”)。animateBG(“0px”,“ – 45px”,300);

小提琴

免责声明:这不是一个经过完善和测试的插件,但我花了十分钟在jsFiddle中创建,但测试它并做你需要的更改,它应该适合你。

引用https://stackoverflow.com/a/8378817/168735

background-position-x是非标准的CSS属性,Firefox不支持它。

看到:

http://snook.ca/archives/html_and_css/background-position-xy https://stackoverflow.com/a/8175460/1011582

如前所述, background-position-xbackground-position-y是非标准的。

您可以探索两种选择:

  1. jQuery背景动画插件(例如: http : //snook.ca/archives/javascript/jquery-bg-image-animations/ )
  2. CSS3过渡

您可以在此处阅读: http : //my.safaribooksonline.com/0130092789/ch14lev1sec7 ?portal = oreilly ,这是Internet Explorer CSS特定属性。

Firefox不支持background-position-xbackground-position-y 。 您应该编写一个简单的函数来计算当前的x和y位置,所需的位置,并使用setTimeout$(el).css动画处理。 或者使用CSS3动画。

PS对不起,我以前的post。