我们来实现test中的onclick事件

function justAtest(){var test= document.getElementById("test");var test2=document.getElementById("test2");var test3=document.getElementById("test3");var test4=document.getElementById("test4");alert(test4.style.height);alert(test3.style.height);alert(test2.style.height);alert(test.style.height);alert(document.body.style.height);
}

height:其实Height高度跟其他的高度有点不一样,在javascript中它是属于对象的style对象属性中的一个成员,它的值是一个字符类型的,而另外三个高度的值是int类型的,它们是对象的属性.因此这样document.body.height就会提示undenifine,而必须写成document.body.style.height

上面的脚本将依次弹出700px,550px,600px,500px,1000px.height是最简单的了,不必去考虑是否有滚动条及边框等.因此也不做多解释了.

然后我们将脚本换下

function justAtest(){var test= document.getElementById("test");var test2=document.getElementById("test2");var test3=document.getElementById("test3");var test4=document.getElementById("test4");alert(test4.clientHeight);alert(test3.clientHeight);alert(test2.clientHeight);alert(test.clientHeight);alert(document.body.clientHeight);
}

运行后火狐的结果为:700,550,583,483,1000
IE的结果为:700 ,550,583,483,1000
IE与火狐下的运行结果是一致的.下面来看下clientHeight的定义.

clientHeight:可见区域的宽度,不包括boder的宽度,如果区域内带有滚动条,还应该减去横向滚动条不可用的高度,正常的是17px,其实就是滚动条的可滚动的部分了,其实clientHeight与height的高度差不多,如果不带滚动条的话他们的值都是一样的,如果带有滚动条的话就会比height值少17px;火狐与IE下均为一致.

接着我们来看scrollHeight

function justAtest(){var test= document.getElementById("test");var test2=document.getElementById("test2");var test3=document.getElementById("test3");var test4=document.getElementById("test4");alert(test4.scrollHeight);alert(test3.scrollHeight);alert(test2.scrollHeight);alert(test.scrollHeight);alert(document.body.scrollHeight);
}

运行后火狐的结果为:700,552,700,602,1002
IE的结果为: 15, 15 , 700,602, 552
scrollHeight:这个属性就比较麻烦了,因为它们在火狐跟IE下简直差太多了..

在火狐下还很好理解,它其实就是滚动条可滚动的部分还要加上boder的高度还要加上横向滚动条不可用的高度,与clientHeight比起来,多个border的高度跟横向滚动条不可用的高度.

在IE中 scrollHeight确是指这个对象它所包含的对象的高度加上boder的高度和marging,如果它里面没有包含对象或者这个对象的高度值未设置,那么它的值将为15

最后我们来看offsetHeight

function justAtest(){var test= document.getElementById("test");var test2=document.getElementById("test2")var test3=document.getElementById("test3")var test4=document.getElementById("test4");alert(test4.offsetHeight);alert(test3.offsetHeight);alert(test2.offsetHeight)alert(test.offsetHeight);alert(document.body.offsetHeight)
}

offsetHeight:
FF:700,552,602,502,1002
IE:700,552,602,502,1002

这个属性好办,因为在测试中IE跟火狐的结果是一样的,均表示是自身的高度,如果有设置boder的话还应该加上boder的值,因为除了test4这个div外,其他的div均有设置border=1px,所以552=550+2,其他的均一样.

综上所述,clientHeight与height的区别是如果有滚动条时应减去滚动条的17px不可用部分,offsetHeight与Height的区别是增加了boder的高度,ScrollHeihgt与Height的区别是火狐下与offsetHeight一致,IE下如上所述.

相信你了解了这个,对width,clientWidth,scrollWidth,offsetWidth已经不陌生了吧,只不过一个是长一个是宽的问题了.

height、clientHeight、scrollHeight、offsetHeight区别相关推荐

  1. 这该死的高度,height,clientHeight,scrollHeight,offsetHeight

    引言: 虽然有时候界面的设置不是我们这些后台代码人员的工作,但是有时候却难以理解控件生成时的一些怪事,比方在学习webabcd的扩张GridView中固定列时,你或许已经被其中的height,clie ...

  2. height clientHeight scrollHeight offsetHeight的大致区别

    这主要是针对火狐浏览器来讲的: height:就是div的高度,就是style中设置的高度:在chrome中clientHeight是包含padding的,offsetHeight和clientHei ...

  3. clientHeight , scrollHeight , offsetHeight之间的区别及兼容方案

    clientHeight , scrollHeight , offsetHeight相信每个人都用过,可是每次用都要查一下到底哪个是文档大小哪个是视口大小,还有头疼的兼容问题. 先来官方的了解一下这三 ...

  4. heigh,clientHeight , scrollHeight , offsetHeight介绍

    height是element元素部分属性,值为字符型,而其他三种的值为数字型,JS获取方式document.body.style.height,如果写成document.body.height会提示u ...

  5. 浏览器窗口尺寸clientHeight / scrollHeight / offsetHeight / innerHeight

    https://www.cnblogs.com/nanshanlaoyao/p/5964730.html clientHeight:元素客户区的大小,指的是元素内容及其边框所占据的空间大小(经过实践取 ...

  6. clientHeight ,offsetHeight,style.height,scrollHeight有区别与联系

    style.height 包括 元素的滚动条,不包括边框 clientHeight 不包括元素的滚动条和边框,只有在没有元素的滚动条的情况下,style.height相等于clientHeight o ...

  7. offsetHeight, clientHeight与scrollHeight的区别

    [size=xx-large][color=indigo]offsetHeight, clientHeight与scrollHeight的区别[/color][/size] [size=large][ ...

  8. 【夯实基础 】 js获取的clientHeight、offsetHeight和scrollHeight的区别

    clientHeight.offsetHeight和scrollHeight的区别 clientHeight = content + padding, 不加溢出内容的高度 ,返回整数 offsetHe ...

  9. CSS中clientHeight、offsetHeight、scrollHeight、scrollTop、scrollTo几者的区别和关联

    怎么区分clientHeight.offsetHeight.scrollHeight.scrollTo.scrollTop呢,我们通过下面的示例来搞清楚. 现有如下示例: 对应css为 .div {w ...

  10. 彻底搞懂clientHeight、offsetHeight、scrollHeight的区别

    我们开发web代码的时候,经常回遇到各种高度的计算. 因为总是忘记几者之间得区别,每次都要现查,这次通过这篇文章彻底搞明白这几个长度的区别. 1.定义说明 条目 含义 图示 clientHeight ...

最新文章

  1. Confluence 6 开始使用
  2. 基于ATMEGA8的Arduino Nano(UNO)开发板
  3. rsync远程同步的基本配置与使用
  4. CCF201604-3 路径解析(100分)
  5. java 对象数据 搜索,java – 使用反射检索对象的数据类型
  6. 20应用统计考研复试要点(part5)--统计学
  7. php跳转到另外一个方法,PHP 页面跳转到另一个页面的多种方法方法总结
  8. envs\TensorFlow2.0\lib\site-packages\tensorflow\python\framework\dtypes.py:516: FutureWarning 解决方案
  9. 一个SPS + K2 + InfoPath + Mobile + Exchange的工作流程演示系统
  10. pycharm关闭科学模式_[效率] 高手常用的 PyCharm 使用技巧(二)
  11. 通达信公式编写使用哪种计算机语言,通达信公式编写入门(附通达信经典实用选股公式).pdf...
  12. 解决qt.qpa.plugin: Could not load the Qt platform plugin “xcb“问题
  13. python检测excel表是否存在空值
  14. 自动设置为兼容模式html5,详细教你将IE浏览器设置为兼容模式的设置方法
  15. Python从ftp服务器下载文件的源码
  16. 2 月全国程序员工资统计 + 大厂新入职员工职级对应表
  17. 银行流失用户分析及预测模型
  18. 微软Visio流程图软件,Visio流程图制作工具下载安装教程(1)
  19. Python 02 Selenium 账号密码登录CSDN
  20. 如何使用html实现在线秒表,javascript实现一款好看的秒表计时器

热门文章

  1. Python 爬虫工具 —— fake_useragent
  2. 平常学习与实际应用场景
  3. 100 以内的数的研究
  4. Python Tricks(五)—— 计算 list of lists 的长度(元素个数)
  5. Linux C/C++ —— intent 工具,time 命令
  6. 使用 matlab 数字图像处理(九)—— 去卷积(deconvolution,逆滤波复原)
  7. BP神经网络从理论到应用(一):C++实现
  8. ie手机浏览器_哪款浏览器可以说成为装机必备?
  9. python能做什么毕业设计-有没有适合python做的毕设题目,现在不知道做什么了?...
  10. python学到什么程度可以找到工作-Python学到什么程度可以面试工作?