滚动距离、可视尺寸

87 阅读1分钟
  1. 浏览器宽高
常规: window.innerWidth/innerHeight
IE9/IE8以下:
标准: document.documentElement.clientWidth/clientHeight;
怪异(document.compatMode === 'BackCompat'): document.body.clientWidth/clientHeight
  1. 文档宽度 = 滚动距离 + 可视区域宽度
document.body.scrollHeight/scrollWidth;
document.documentElement.scrollHeight/scrollWidth

document.body.scrollWidth = window.pageXOffset + window.innerWidth
  1. 兼容性(document.body.scrollLeft 与 docoment.documentElement.scrollLeft 二者只能有一个)
function getScrollOffset(){
    if(window.pageXOffset){
        return {
            left: window.pageXOffset,
            top: window.pageYOffset
        }
    } else {
        return {
            left: document.body.scrollLeft + docoment.documentElement.scrollLeft,
            top: document.body.scrollTop document.documentElement.scrollTop
        }
    }
}