为了账号安全,请及时绑定邮箱和手机立即绑定

使用原生 js 如何获取元素真实高度包括(margin)

使用原生 js 如何获取元素真实高度包括(margin)

拉风的咖菲猫 2018-09-03 13:18:25
使用原生 js 如何获取元素真实高度包括(margin)?本人写了一个很愚蠢的方法(只能分别获取 width、marginTop、paddingTop等, 这样获取效率太低,有没方法可以一次获取得到呢?)html:<div class="container">     <p class="text">text</p></div>css:.text {    margin: 5px 10px 15px 20px;    padding: 25px 10px 5px 3px; }js:var textNode = document.querySelector('.text') 方法1:  // 只能分别获取 width、marginTop、paddingTop等, 这样获取效率太低,有没方法可以一次获取得到呢?function getStyle(obj,attr){    if(obj.currentStyle){      return obj.currentStyle[attr];    }    else{      return document.defaultView.getComputedStyle(obj,null)[attr];    }  }var width = getStyle(textNode, 'width')var marginTop = getStyle(textNode, 'marginTop') ......
查看完整描述

1 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

网页可见区域宽: document.documentElement.clientWidth;

网页可见区域高: document.documentElement.clientHeight;  

网页正文全文宽: document.documentElement.scrollWidth;

网页正文全文高: document.documentElement.scrollHeight;

网页被卷去的高(ff):document.body.scrollTop; 

网页被卷去的高(ie): document.documentElement.scrollTop; 

网页被卷去的左:document.body.scrollLeft; 

网页正文部分上:window.screenTop; 

网页正文部分左:window.screenLeft; 

某个元素的宽度:obj.offsetWidth;

某个元素的高度:obj.offsetHeight;

某个元素的上边界到body最顶部的距离:obj.offsetTop;(在元素的包含元素不含滚动条的情况下)

某个元素的左边界到body最左边的距离:obj.offsetLeft;(在元素的包含元素不含滚动条的情况下)

返回当前元素的上边界到它的包含元素的上边界的偏移量:obj.offsetTop(在元素的包含元素含滚动条的情况下)

返回当前元素的左边界到它的包含元素的左边界的偏移量:obj.offsetLeft(在元素的包含元素含滚动条的情况下)


查看完整回答
反对 回复 2018-10-28
  • 1 回答
  • 0 关注
  • 9258 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信