http://blog.csdn.net/wangpf1992/article/details/53080075


//文档高度

function getDocumentTop() {

                    var scrollTop = 0, bodyScrollTop = 0, documentScrollTop = 0;

                    if (document.body) {

                        bodyScrollTop = document.body.scrollTop;

                    }

                    if (document.documentElement) {

                        documentScrollTop = document.documentElement.scrollTop;

                    }

                    scrollTop = (bodyScrollTop - documentScrollTop > 0) ? bodyScrollTop : documentScrollTop;    return scrollTop;

                }

//可视窗口高度

function getWindowHeight() {

    var windowHeight = 0;

    if (document.compatMode == "CSS1Compat") {

        windowHeight = document.documentElement.clientHeight;

    } else {

        windowHeight = document.body.clientHeight;

    }

    return windowHeight;

}


//滚动条滚动高度

function getScrollHeight() {

    var scrollHeight = 0, bodyScrollHeight = 0, documentScrollHeight = 0;

    if (document.body) {

        bodyScrollHeight = document.body.scrollHeight;

    }

    if (document.documentElement) {

        documentScrollHeight = document.documentElement.scrollHeight;

    }

    scrollHeight = (bodyScrollHeight - documentScrollHeight > 0) ? bodyScrollHeight : documentScrollHeight;    return scrollHeight;

}


window.onscroll = function () {

    //监听事件内容

    if(getScrollHeight() == getWindowHeight() + getDocumentTop()){

        //当滚动条到底时,这里是触发内容

        //异步请求数据,局部刷新dom

        $('body').append('<div style="height: 200px;"></div>');

    }

}



然而有一个例外,在X5内核的QQ浏览器下无法监听到,我因为获取的高度永远到不了那个峰值,不存在等于情况,猜测是其把浏览器地址栏的高度也计算进入

解决方案:强制QQ浏览器全屏 加入META标签

<!-- X5全屏 -->

<meta name="x5-fullscreen" content="true" />

<!-- 设置屏幕模式 -->

<meta name="x5-page-mode" content="app" />



首先要清楚3个定义:

  1. 文档高度

这是整个页面的高度

  1. 可视窗口高度

这是你看到的浏览器可视屏幕高度

  1. 滚动条滚动高度

滚动条下滑过的高度

 

所以, 当 文档高度 = 可视窗口高度 + 滚动条高度  时,滚动条正好到底.

 

那我们就来定义三个不同的方法,分别获取上面3个高度值


Created with the Personal Edition of HelpNDoc: Free PDF documentation generator