如果有內聯樣式通過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; }
