• 全部
  • 问答

怎么获得当前DOCUMENT(比较长,出现滚动条)的从页头到页尾的高度?

cooler 2006-05-28 04:15:18
我找了MSDN,看到
document.body这个object有3个高度属性:
clientHeight,这个好像只是当前IE窗口的显示高度。
offsetHeight,这个类似,好像是当前IE窗口的显示高度减去了状态栏啊什么的高度。
scrollHeight,这个是从页头到当前窗体滚动到的高度。

问题是:
我想知道文档从页头到页尾的整个高度啊,应该怎么取得呢?



...全文
297 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cooler 2006-06-21
感谢指教。结贴了。谢谢啊。看来还是我测试的代码有误。
回复
seeu1688 2006-05-30
scrollHeight

注意文档类型声明<!DOCTYPE ...>
IE6加入了Strict模式后,将IE窗口模型的部分body属性重新定义为document.documentElemnt(html)属性。

可加入如下代码判别,已兼容Transitional/Strict模式

<SCRIPT LANGUAGE="JavaScript">
window.onload = function(){
window["viewport"] = (document.documentElement && document.documentElement.clientHeight)?document.documentElement:document.body;
alert(viewport.scrollHeight)
}
</SCRIPT>

IE/FF对于viewport对象解析略有不同,scrollHeight数值上有所差异
回复
sanshisong 2006-05-28
MARK
回复
hbhbhbhbhb1021 2006-05-28
楼主试的是什么?scrollHeight和滚动条滚动到哪没有关系。
测试可以用下面的程序。
楼主试的应该是scrollTop属性。
<script language=javascript>
function hehe()
{
alert(document.body.scrollHeight)
}
</script>
<input name=button1 type=button value="按" onclick="hehe()"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<input name=button1 type=button value="按" onclick="hehe()"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<input name=button1 type=button value="按" onclick="hehe()"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<input name=button1 type=button value="按" onclick="hehe()"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<input name=button1 type=button value="按" onclick="hehe()"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<input name=button1 type=button value="按" onclick="hehe()"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<input name=button1 type=button value="按" onclick="hehe()"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<input name=button1 type=button value="按" onclick="hehe()"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<input name=button1 type=button value="按" onclick="hehe()"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
回复
cooler 2006-05-28
我试过了,SCROLLHEIGHT不是,只是当前滚屏到的高度。如果还没有滚动到底,那么就不是最后的高度。
回复
cpio 2006-05-28

整个页面高度:document.body.scrollHeight

显示区域高度:document.body.clientHeight
回复
cooler 2006-05-28
感谢大家支持,看看还有没有什么完美一点的解决阿方案
回复
cooler 2006-05-28
1、滚动的解决方案:
可是如果我滚动到底,用户界面效果会很不好啊。
用户肯定会奇怪为什么网页会自己往下滚啊。


2、作标记:
在页头和页尾做2个标记,取二者的绝对位置然后相减
问题是如何取得二者的绝对位置呢?


回复
是是非非 2006-05-28
scrollTo 99999
回复
是是非非 2006-05-28
滚动到底部再计算 clientHeight+scrollHeight
回复
DeluxWorld 2006-05-28
比较笨的方法
在页头和页尾做2个标记,取二者的绝对位置然后相减
回复
cooler 2006-05-28
请指教啊。谢谢了。
回复
cooler 2006-05-28
你现在看到我的帖子的时候,这个文档就是很长的,出现了滚动条的窗体。我想知道的就是这个文档从页头到页尾的高度。
回复
相关推荐
发帖
JavaScript
创建于2007-09-28

8.5w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2006-05-28 04:15
社区公告
暂无公告