原生js实现outerWidth()方法,用到getComputedStyle

function getTrueStyle(obj,attr){ 
  if(obj.currentStyle){ //ie
    return obj.currentStyle[attr]; 
  }
  else{ 
    return window.getComputedStyle(obj, null)[attr] || document.defaultView.getComputedStyle(obj,null)[attr]; 
  }
}
	var limarginLeft=parseInt(/\d+/.exec(getTrueStyle(firstli,"marginLeft")));//左margin
	var limarginRight=parseInt(/\d+/.exec(getTrueStyle(firstli,"marginRight")));//右margin
	var lirealwidth=limarginLeft+firstli.offsetWidth+limarginRight;//真实宽度

  代码中的正则是用来取“10px”中的“10”

posted on 2017-05-19 00:37  灵剑丹心  阅读(502)  评论(0编辑  收藏  举报

导航