用js backgroundPositionX,backgroundPositionY设置在firefox下无法识别,用backgroundPosition同样在火狐无法识别。
要识别只能用js插件来实现的,代码如下:
/**
* @author Alexander Farkas
* v. 1.02
*/
(function($) {
$.extend($.fx.step,{
backgroundPosition: function(fx) {
if (fx.state === && typeof fx.end == 'string') {
var start = $.curCSS(fx.elem,'backgroundPosition');
start = toArray(start);
fx.start = [start[],start[]];
var end = toArray(fx.end);
fx.end = [end[],end[]];
fx.unit = [end[],end[]];
}
var nowPosX = [];
nowPosX[] = ((fx.end[] - fx.start[]) * fx.pos) + fx.start[] + fx.unit[];
nowPosX[] = ((fx.end[] - fx.start[]) * fx.pos) + fx.start[] + fx.unit[];
fx.elem.style.backgroundPosition = nowPosX[]+' '+nowPosX[]; function toArray(strg){
strg = strg.replace(/left|top/g,'0px');
strg = strg.replace(/right|bottom/g,'100%');
strg = strg.replace(/([-\.]+)(\s|\)|$)/g,"$1px$2");
var res = strg.match(/(-?[-\.]+)(px|\%|em|pt)\s(-?[-\.]+)(px|\%|em|pt)/);
return [parseFloat(res[],),res[],parseFloat(res[],),res[]];
}
}
});
})(jQuery);

用法加一个jq库和这个插件

$(".bgpos").animate({backgroundPosition:"(-20px 94px)"},300);

$(".bgpos").css({backgroundPosition: "-20px 35px"});

如果定义一个变量方法如下:

var a=9;

$(".bgpos").animate({backgroundPosition:0+' '+a},300);

05-11 22:21