本文测试的是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+",width:"+D1.offsetWidth+",height:"+D1.offsetHeight);
};
</script>
</body>

图示:

JS获当前网页元素高度offsetHeight的更多相关文章

  1. js 获取浏览器/网页宽度高度整理

    网页宽度.高度: 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: document.bo ...

  2. js监听某个元素高度变化来改变父级iframe的高度

    最近需要做一个iframe调用其他页面内容,这个iframe地址是可变化的,但是里面的内容高度不确定且里面内容高度可调整,所以需要通过监听iframe里面body的高度变化来调整iframe的高度. ...

  3. js jq 获取网页元素宽度

    Javascript: IE中:document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度d ...

  4. js控制两个元素高度保持一致

    <script type="text/javascript"> $(function(){ if($("#left").height() > ...

  5. [JS]jQuery,javascript获得网页的高度和宽度

    [JS]jQuery,javascript获得网页的高度和宽度网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeigh ...

  6. 使用原生JS定位网页元素

    约定:1.<meta name="viewport" content="width=device-width">这种标记简称"wdw&qu ...

  7. 网页移动到一个高度后加载网页元素【getBoundingClientRect好用】

    $(window).scroll(function () { var windowH = $(window).height();//取可视窗口的高度 ).getBoundingClientRect() ...

  8. js 元素高度宽度整理

    1.1只读属性 所谓的只读属性指的是DOM节点的固有属性,该属性只能通过js去获取而不能通过js去设置,而且获取的值是只有数字并不带单位的(px,em等),如下: 1)clientWidth和clie ...

  9. JS获取屏幕高度

    主要使用了document对象关于窗口的一些属性,这些属性的主要功能和用法如下. 要 得到窗口的尺寸,对于不同的浏览器,需要使用不同的属性和方法:若要检测窗口的真实尺寸,在netscape下需要使用w ...

随机推荐

  1. 学到了林海峰,武沛齐讲的Day37 完

    day1   多用户同时刻下载上传程序分析 day2   htlm介绍 觉得收货的季节到了 day3   htlm介绍 day4   htlm介绍 关键字介绍  Toray大仙 Toray大仙 day ...

  2. 02_SAE中创建数据表

    Step1:进入新浪云应用数据库点击应用名称,进入到该应用管理界面,在数据库服务中点击“共享型MySQL”: 开启MySQL服务,使用PHPMyAdmin管理数据库,进入MySQL数据库管理界面: S ...

  3. FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream,

    在对nginx添加fastCGI的支持后,然后进行php页面验证,发现页面识别不到,不清楚什么情况,随后google了下,原来是Nginx内置变量问题惹的祸. 1.平台介绍: 1 2 3 4 5 6 ...

  4. bee api new

    bee api appcode -conn="root:root@tcp(127.0.0.1:3306)/test"

  5. 列出5个python标准库

    os:提供了不少与操作系统相关联的函数 sys:   通常用于命令行参数 re:   正则匹配 math: 数学运算 datetime:处理日期时间

  6. Java 学习之路(1)第一个Java程序

    Hello World程序 在编程语言的世界里,第一个编程语言估计就是输出Hello World了吧. /** * 编写第一个Java程序,输出Hello World! * @author LJS * ...

  7. [树链剖分]BZOJ3589动态树

    题目描述 别忘了这是一棵动态树, 每时每刻都是动态的. 小明要求你在这棵树上维护两种事件 事件0: 这棵树长出了一些果子, 即某个子树中的每个节点都会长出K个果子. 事件1: 小明希望你求出几条树枝上 ...

  8. CAS5.3服务环境搭建

    什么是Overlay overlay可以把多个项目war合并成为一个项目,并且如果项目存在同名文件,那么主项目中的文件将覆盖掉其他项目的同名文件.使用maven 的Overlay配置实现无侵入的改造c ...

  9. [转] 修改sqlserver的数据库名、物理名称和逻辑文件名

    转载: https://blog.csdn.net/dym0080/article/details/81017777

  10. NoSql数据库Redis系列(4)——Redis数据持久化(AOF)

    上一篇文章我们介绍了Redis的RDB持久化,RDB 持久化存在一个缺点是一定时间内做一次备份,如果redis意外down掉的话,就会丢失最后一次快照后的所有修改(数据有丢失).对于数据完整性要求很严 ...