在Firefox中不起作用

在Firefox中不起作用

Possible Duplicate:
jquery.animate background-position doesn't work




我有一个动画背景位置的小脚本,可惜它在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);。

FIDDLE

免责声明:这不是一个经过测试的插件,而是我花了十分钟在jsFiddle中创建的东西,但是对其进行测试并进行所需的更改,它应该对您来说很好。

10-05 21:03