`

document.body.clientHeight返回值为0的解决方案

阅读更多
使用HTML5 DOCTYPE,会出现document.body.clientHeight为0
网上查了一下, 貌似有很多个解决方案。

1. 使用document.documentElement.clientHeight获取。
当使用html5的时候,就会有documentElement在document下。




如上图所示 , 左边为chrome,右边为ie。
完全没办法兼容。。


2. 设置DOCTYPE为html4.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

经测试该方法可行。 如图




这种情况只要使用document.body.clientHeight就行了。
但是我想使用html5来作为文档类型。


3.  html5->  设置html,body{height:100%}
在使用html5文档类型的时候, 设置了html body的高度100%之后,两个浏览器就都能获取document.body.clientHeight了。



网上查了一下,
http://forums.asp.net/t/1058801.aspx?Why+do+clientHeight+and+offsetHeight+always+return+zero+
这个网站是这么设置的。
既然有人这么弄,那就先放心的使用了。
  • 大小: 17.7 KB
  • 大小: 18.2 KB
  • 大小: 22.8 KB
分享到:
评论

相关推荐

    用document.documentElement取代document.body的原因分析

    上次的测试说明了document.body属性并不会给我们返回预期的结果,比如我们用document.body.clientHeight原本想取得“页面可见区域高度”,可实际上返回的是“页面实际内容高度”。 那我们怎么办呢?难道加上了文档...

    js获取页面及个元素高度、宽度的代码

    网页可见区域高: document.body.clientHeight; 网页可见区域宽: document.body.offsetWidth (包括边线和滚动条的宽); 网页可见区域高: document.body.offsetHeight (包括边线的宽); 网页正文全文宽: document...

    scrollLeft,scrollTop等等详解.pdf

    网页可见区域高: document.body.clientHeight; 网页可见区域宽: document.body.offsetWidth (包括边线的宽); 网页可见区域高: document.body.offsetHeight (包括边线的宽); 网页正文全文宽: document.body....

    获取页面长宽和滚动条的位置

    winH = document.body.clientHeight; } // for small pages with total size less then the viewport var pageW = (scrW) ? winW : scrW; var pageH = (scrH) ? winH : scrH; return {PageW:pageW, ...

    不出现滚动条移动表格

    var clientHeight = (document.body.clientHeight&lt;document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight; } else { var clientHeight = (document....

    doctype后如何获得body.clientHeight的方法

    在ie6中很多js脚本执行就会出现问题,一般是在获取clientWidth, clientHeight,... 比如:原来document.body.clientHeight,就要改成document.documentElement.scrollTop 为了自适应,可以改了下代码: ((docum

    原生js实现小球在屏幕上自由移动,当遇到屏幕边缘时反弹

    小球在桌面上自由移动,要清楚的几个问题 1、小球在桌面移动的最大距离是多少 2、小球移动的步长是多少 3、当小球碰到屏幕边缘时怎么实现...高:document.documentElement.clientHeight || document.body.clientHeight;

    js 调色板 纯js

    if (event.clientY+clrPanel.style.pixelHeight &gt; document.body.clientHeight) { //对话框显示在鼠标下方时,会出现遮挡,将其显示在鼠标上方 top -= clrPanel.style.pixelHeight; } clrPanel.style....

    IE与FF下javascript获取网页及窗口大小的区别详解

    在新定义出来的标准下 document.documentElement.clientHeight在IE和火狐里都能获取正确值,下面... s += ” 网页可见区域高:”+ document.body.clientHeight; s += ” 网页可见区域宽:”+ document.body.offsetWi

    JS获取网页属性包括宽、高等等

    s += ” 网页可见区域高:”+ document.body.clientHeight+” “; s += ” 网页可见区域宽:”+ document.body.offsetWidth + ” (包括边线和滚动条的宽)”+” “; s += ” 网页可见区域高:”+ document.body....

    javascript获取网页宽高方法汇总

    document.body.clientHeight – 网页可见区域高 document.body.offsetWidth – 网页可见区域宽,包括边线和滚动条的宽 document.body.offsetHeight – 网页可见区域高,包括边线和滚动条的高[FF,chrom下是整个页面高...

    js实现在已有的网站中添加飞翔图片不影响之前布局

    height = document.body.clientHeight; Hoffset = dd.offsetHeight; Woffset = dd.offsetWidth; dd.style.left = xPos + document.body.scrollLeft; dd.style.top = yPos + document.body.scrollTop; if (yon) { ...

    js获取浏览器基本信息大全

    网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽:document.body.scrollWidth ...

    JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)

    网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) ...

    javascript窗口宽高,鼠标位置,滚动高度(详细解析)

    网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) ...

    JS 获取浏览器和屏幕宽高等信息的实现思路及代码

    网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) ...

    JS 获取浏览器和屏幕宽高等信息代码

    网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) ...

    JavaScript网页定位详解

    网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) ...

    js获取input长度并根据页面宽度设置其大小及居中对齐

    网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽:document.body.scrollWidth ...

    js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版

    网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offsetWidth (包括边线的宽);网页可见区域高: document.body.offsetHeight (包括边线的宽);网页正文全文宽: document.body....

Global site tag (gtag.js) - Google Analytics