如果有内联样式通过elem.style.backgroundPosition可以取得backgroundPositionX和backgroundPositionY两个值,但是如果没有内联样式通过计算样式getComputedStyle(elem,null).backgroundPosition得到的总是返回IE下的backgroundPositionX的值,我还没有找到通过getComputedStyle(elem,null)方法得到backgroundPositionY的值得方法,等到找到了再添上来,下面是兼容各浏览器取得backgroundPositionX的方法:
今天遇到了获取backgroundPositionX的值在各浏览器不同的情况,后面查了些资料,知道了
1.IE6/7/8:识别backgroundPositionX/Y ,但是不识别backgroundPosition
2.FireFox和opera:不识别backgroundPositionX/Y,但是识别backgroundPosition
3.Safari和Chrome:识别backgroundPositionX/Y及backgroundPosition
所以有了以下取得backgroundPositionX的代码:
function getBackgroundPositionX(elem) { var backgroundPositionX=""; if(elem.currentStyle) { backgroundPositionX=elem.currentStyle.backgroundPositionX||document.defaultView.getComputedStyle(elem,null).backgroundPosition; }else if(document.defaultView) { backgroundPositionX=document.defaultView.getComputedStyle(elem,null).backgroundPosition; } backgroundPosition=parseInt(backgroundPosition); return backgroundPosition; }