leo列

导航

js取backgroundPositionX的值

 如果有内联样式通过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;
}







posted on 2012-08-14 22:45  leo列  阅读(5199)  评论(0编辑  收藏  举报