基本上你得到并设置.css('backgroundPosition'),这是一个用空格分隔x和y的字符串,例如12px 14px。
在 Firefox、Chrome/Safari、Opera、IE7、IE8 中测试:
得到它
如果你只想要来自 jQuery 的 background-position-x:
var bpx = $('elem').css('backgroundPosition').split(' ')[0];
如果你只想要来自 jQuery 的 background-position-y:
var bpy = $('elem').css('backgroundPosition').split(' ')[1];
如果你想要来自 jQuery 的 background-position-x 和 background-position-y:
var bp = $('elem').css('backgroundPosition').split(' ');
var bpx = bp[0], bpy = bp[1];
设置它
(如果您需要动画,请参阅Background Position animation in jQuery not working in Firefox)
只设置background-position-x而不更改background-position-y:
var bpy = $('elem').css('backgroundPosition').split(' ')[1];
$('elem').css('backgroundPosition', '-192px ' + bpy);
仅根据其旧值更改或增加background-position-x - 例如,将background-position-x 增加5px:
(这个简单的例子假设它是一个像素值,而不是像百分比这样的其他东西)
var bp = $('elem').css('backgroundPosition').split(' ');
var newBpx = (parseFloat(bp[0]) + 5) + 'px', bpy = bp[1];
$('elem').css('backgroundPosition', newBpx + ' ' + bpy );