請(qǐng)問為什么document.body.scrollHeight高度為0
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">?
</head>
<body>
<script type="text/javascript">
var w = document.documentElement.scrollWidth;
var h = document.documentElement.scrollHeight;
var wb = document.body.scrollWidth;
var hb = document.body.scrollHeight;
document.write(w+"/"+h+"<br/>");
document.write(wb+"/"+hb);
</script>
</body>? ??
</html>
hb輸出結(jié)果為0請(qǐng)問為什么呢?
2021-04-21
<style>
? ? ? ? html, body {
? ? ? ? height: 100%;?
??
? ? }
? ? </style>
樣式設(shè)置下高度,就能得到正常的了
2019-04-08
我試了一下scrollTop,我已經(jīng)凌亂了,無論我用body還是documentElement,scrollTop都是0。
不過照你說的我刪掉了<!DOCTYPE>,scrollHeight確實(shí)不是0了,用body的scrollWidth和scrollHeight,與用documentElement的值完全相同了...這是一門玄學(xué)
2019-04-08
最近寫了一個(gè)拖動(dòng)層的HTML頁面, ? 需要獲取滾動(dòng)條當(dāng)前的位置.
于是我使用document.body.scrolltop獲取y方向滾動(dòng)的位置...奇怪的事情出現(xiàn)了! 無論滾動(dòng)條怎么滾動(dòng), document.body.scrolltop竟然一直都是0!
對(duì)比以前寫的一個(gè)頁面.發(fā)現(xiàn)區(qū)別很小. 舊頁面卻沒有問題.這就怪了...
我開始一點(diǎn)一點(diǎn)的排除,去掉多于的代碼. 直到我去掉文檔最頂部的
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
頁面此時(shí)才正常.
原來是這行東西造成IE無法獲取document.body.scrolltop!
把頂部這兩行刪掉將可以了.但是為什么會(huì)這樣呢?
google一下,發(fā)現(xiàn)改成:
document.body.scrollTop?
要改成?
document.documentElement.scrollTop