需要三个值:窗口高度、滚动条高度、文档高度
窗口高度
- 表示为内容可视区域的高度
- outerWidth和outerHeight在IE9、Safairi和Firefox中返回浏览器本身的尺寸。
- 在Opera中,这两个属性表示页面视图容器的大小,而innerWidth和innerHeight则表示该容器页面视图区的大小(减去边框宽度),在Chrome中,返回相同的值。
- 在IE、Opera、Chrome、Safairi和Firefox中,document.documentElement.clientWidth和document.documentElement.clientHeight中保存了页面视口的信息,在IE6中,这些在标准模式下才有效,如果是混杂模式,就必须通过document.body.clientWidth和document.body.clientHeight属性。
滚动条高度
- 表示为滚动条在Y轴上的滚动距离
document.documentElement.scrollTop||document.body.scrollTop||window.pageYOffset
- 在此说一下各浏览器对scrollTop的兼容性
- IE6/7/8
- 对于没有doctype声明的页面里面可以使用
document.body.scrollTop
来获取scrollTop高度 - 对于有doctype声明的页面则可以使用
document.documentElement.scrollTop
- 对于没有doctype声明的页面里面可以使用
- Safari
- 它比较特别,有自己获取scrollTop的函数:
window.pageYOffset
- 它比较特别,有自己获取scrollTop的函数:
- Firefox:
- 直接用
document.documentElement.scrollTop
就可以
- 直接用
- IE6/7/8
文档高度
- 表示为内容可视区域的高度加上溢出(滚动)的距离
document.documentElement.scrollHeight
所以判断滚动条是否到达底部,就是判断窗口高度+滚动条高度是否=文档高度