document.body.clientHeight的取值

http://www.cnblogs.com/fullhouse/archive/2012/01/05/2313800.html

有时候需要取页面的底部, 就会用到document.body.clientHeight , 在HTML 标准中(这一句就能取到整个页面的高度, 不论body 的实际内容到底有多高, 例如, 1074*768 的分辨率, 页面最大化时, 这个高度约为720 , 即使页面上只有一句"hello world" , 也仍然取到720.

可是在XHTML中, 如果body 体中只有一行, 则document.body.clientHeight 只能取到那一行的高度, 约20px, 这时如何还想取到整个页面的高度, 就要用document.documentElement.clientHeight 来获取了.

原因是: 在HTML 中, body 是整个DOM 的根, 而在XHTML 中, document 才是根, body 不再是根, 所以取body 的属性时, 不能再取到整个页面的值.

区别新旧标准的行是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
前者指明该页面使用旧标准, 后者指明该页面使用新标准.

总结:
XHTML中用 document.documentElement.clientHeight  代替
document.body.clientHeight

时间: 2024-12-15 06:57:55

document.body.clientHeight的取值的相关文章

documen.body.clientHeight的取值问题。

有的时候要去页面的顶部到底部的高度时就要用到document.body.clientHeight来获得. 在HTML中无论body的高度是多少只要用documen.body.clientHeight就能获得到底有多高,例如:1074*768分辨率取得的值就是768.即使body中只有一句“hello world” 也能获得到底的高度. 但是在XHTML中如果body只有一行的话,那么使用documen.body.clientHeight就只能会的一行的高度了,可能就只有20px.那么在XHTML

document.documentElement.clientHeight 和 $(window).height() 无法正确获取页面可视区高度

背景: 弹出层插件(自适应) 实现过程中突然发现在获取可视区高度时,无论document.documentElement.clientHeight 还是 $(window).height()都无法正确获取,代码没有问题: 解决方案:通过 cosole.log寻找错误点发现$(window).height()获取不正常并等于$(document).height():网上查找资料是由于没有正确的HTML5文档声明导致的 正确: <!DOCTYPE html> <html> <!-

document.documentElement.clientHeight 和 document.body.clientHeight

document.documentElement.clientHeight 和 document.body.clientHeight 介绍 在进行一些网页效果处理的时候,经常碰到document.documentElement.clientHeight和document.body.clientHeight. 百度随便一查,经常碰到有人将二者混为一谈. 但是二者之间还是有着很大区别的. document.documentElement.clientHeight 可以称为是获取的可视区域的高度,而d

Jquery常用操作:checkbox、select取值,radio、checkbox、select选中及其相关

常用Jquery操作:checkbox取值.select取值.radio选中.checkbox选中.select选中及其相关: 1.影藏页面元素 使用jquery真的很方便,比如要控制div的显示与隐藏,一句话就搞定了,请看下面使用说明. $("#id").show()表示display:block, $("#id").hide()表示display:none; $("#id").toggle()切换元素的可见状态.如果元素是可见的,切换为隐藏的

jquery data方法取值与js attr取值的区别

<a data-v="3"></a> jquery data方法的运行机制: 第一次查找dom,使用attributes获取到dom节点值,并将其值存到缓存里,第二次操作的时候,还是先找到dom,但是这次取值是直接从缓存读了,少了一步对dom的操作 attr()方法每次都要操作dom,性能上差点儿 $('a').data('v')取到的值是页面初次加载的缓存值,以后如何更改,在页面上都不会改变,但缓存值会变,可以传给i/o请求使用 document.getEle

javacscript 3 获取时间、数字取值、定时器

[jq与js的关系]:jq是对js常用的方法进行封装.简化和优化. [小技巧]ctrl+k+D :VS写代码格式乱了时,整理代码用的快捷键 ------------------------------------------------------------------------------------------------------ 1.获取时间: 方法 描述 getFullYear() 返回四位数的年份 getMonth() 返回月份(从0开始,1月=0,2月=1,...) getD

2015.7.20 第九课 课程重点(js语句:获取时间、数字取值、定时器)

[jq与js的关系]:jq是对js常用的方法进行封装.简化和优化. [小技巧]ctrl+k+D :VS写代码格式乱了时,整理代码用的快捷键 ------------------------------------------------------------------------------------------------------ 1.获取时间: 方法 描述 getFullYear() 返回四位数的年份 getMonth() 返回月份(从0开始,1月=0,2月=1,...) getD

document.body.clientHeight兼容性问题

通常,我们获取浏览器可视窗口的宽高都是使用如下代码: 1 var h=document.documentElement.clientHeight||document.body.clientHeight;//获取浏览器窗口可视高度 2 var w=document.documentElement.clientWidth||document.body.clientWidth;//获取浏览器窗口可视宽度 以获取浏览器可视窗口高度为例,如果document.documentElement.clientH

关于dom元素上css属性值的取值过程

最近在研究w3c的css标准规范,css2.2版本,虽然早已进入css3时代,但是css3还是继承了很多css2的基础,所以了解css2的很多标准原理,对于理解css核心内容,对写好css,写出高性能的css是很有必要的. 这篇文章写在读了css标准第六章css属性值取值过程相关内容,英文标准地址:https://www.w3.org/TR/CSS22/cascade.html 浏览器渲染页面时,解析dom树之后,一定(标准中用了must)会对每个dom元素都加上css的属性和对应的值: “On