DOM元素尺寸offsetWidth,scrollWidth,clientWidth

774 2 年前
在JavaScript中也有很多属性允许我们读取有关元素的width、height和其他几何特性的信息。对于元素的位置获取和控制,在JavaScript中与CSS有所不同,移动或定位元素时,经常需要它们来正确地计算坐标。著作权归作者所有。
<div id="div" style="height: 200px;width: 200px;border:solid 50px red;overflow:auto;padding:50px">
    <div id="info" style="height:400px;width:400px;border:solid 1px blue;"></div>
    <script>
    var div=document.getElementById("div");
    var ho=div.offsetHeight;
    var hc=div.clientHeight;
    console.log(ho,hc);
    </script>
</div>

offsetWidth

offsetWidth=border+padding+width; 这里等于: 50+50+200+50+50=400 offsetWidth不能在display:none的div获得正确值,可以用jquery的outerWidth()正确获得

clientWidth

clientWidth=padding+width-滚动条 这里等于:50+200+50-17=283 jquery的innerWidth()可不把滚动条计算进去,可得到结果300

scrollWidth

scrollWidth=padding+包含内容的完全宽 这里等于:50+402+50=502

scrollTop

获取位于元素顶部边界与元素中当前可见内容的最顶端之间的距离

scrollTop=scrollHeight-clientHeight =padding+包含内容的完全高度-(padding+height-滚动条) =包含内容的完全高度-height+滚动条

分类栏目
© 2018邮箱:11407215#qq.comGitHub沪ICP备12039518号-6