以下代码测试环境是:
- Chrome canary 61
- Firefox 53
- IE 11 10 9 8
以下的 clientHeight 和 scrollHeight 是 document.documentElement.clientHeight
和 document.documentElement.scrollHeight
的缩写
当页面没有出现滚动的情况:
- IE 和 Firefox 表现一致,clientHeight 和 scrollHeight 两者的值相等,并且等于视口大小。
- Chrome 中,二者不一致。 scrollHeight 是内容区域的大小,clientHeight 的值是视口的大小。(这一点和《 JavaScript 高级程序设计》 这本书上描述的刚好相反,应该是浏览器内核升级不符合以前的情况了。所以具体情况需要自己具体写代码测试)。
当页面出现滚动的情况:
三者表现的情况一致,clientHeight 表现的是视口大小,scrollHeight 表现的是内容区域的大小