• JS获当前网页元素高度offsetHeight


    本文测试的是offsetHeight,获取网页中某元素的高度,单位是像素,获取的类型是整型,可以进行数字运算。
    如图,网页中的元素本身的高度包括,自身的内容+padding+border,而margin是元素对外面的距离,所以不属于元素本身的高度。

    如图,设置一个div,取名叫D1,D1的上下左右padding各50px,上下左右margin各11px;上下左右border各10px;
    最后的结果是:
    offsetTop:11px,也就是margin的top值。进入浏览器的开发者模式,个人用的是qq浏览器极速模式,发现div在设置的顶边距包括了body的margin。
    offsetLeft:19px,该div的左边margin设置的是11px,进入浏览器的开发者模式,可以看到body也有margin,是8px,所以该div距离浏览器左边的距离是body的margin+div自身的margin=8px+11px=19px。
    offsetWidth:因为div本身不设宽度,所以是宽度自适应,随着浏览器窗口的大小而改变。内容宽度1150px+上下padding50px+50px+上下border10px+10px=1270px。
    offsetHeight:div本身的上下border+上下pddding+div里内容本身的高度,由于本身没给div设置高度样式,所以高度和内容有关,目前里面是一句话,内容高度为42px。
    10px+10px(上下border)+50px+50px(上下paddding)+42px(内容本身高度)=162px。
    在IE中也测试了下,不同的是height,因为不同浏览器的默认字体默认字体大小等不同等,导致内容高度不同,因此offsetHeight也不同。

    也就是offsetTop,offsetLeft是元素距离浏览器的边距,和元素本身的margin和外面的其他的margin有关
    offsetWidth、offsetHeight是元素本身的border、padding、内容的合计值,也就是整个元素本身的宽高

    测试代码:

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>WEB打印控件LODOP</title>
    <script language="javascript" src="LodopFuncs.js"></script>
    <style>#D1{background-color:#bbf1f2;padding:50px;margin:11px;border:10px solid blue;}</style>
    </head>
    <body>
    <div id="D1">官网样例是混合部署<br>LodopFuncs.js里已经写好了判断</div>
    <a href="javascript:prn1_preview()">点击获取</a><br>
    <script language="javascript" type="text/javascript">   
            var LODOP; //声明为全局变量 
        function prn1_preview(){ 
      var D1=document.getElementById("D1");
      console.log("D1的上下左右padding各50px,上下左右margin各11px;上下左右border各10px;");
      console.log("D1的上下左右:top:"+D1.offsetTop+",left:"+D1.offsetLeft+","+D1.offsetWidth+",height:"+D1.offsetHeight);
        };
    </script> 
    </body>

     图示:

  • 相关阅读:
    MSDN Silverlight翻译Controls
    MSDN Silverlight翻译MSDN Siverlight
    树状数组
    MSDN Silverlight翻译Application and Programming Models
    MSDN Silverlight翻译XAML
    布隆过滤器(Bloom Filter)的原理和实现
    Opening a Modal Dialog shows a horizontal scroll bar
    Jquery 选择器性能问题
    SQL将Excel文件导入数据库
    C# 无法读取Excel中的数据单元格。有数据,但是读出来全是空值。
  • 原文地址:https://www.cnblogs.com/huaxie/p/11670460.html
Copyright © 2020-2023  润新知