我希望在滚动条快拉到底的时候,加载一些内容到页面上。
网上查了一下,说是用三个值来做比较:
(1)scrollTop:已经下拉的距离(页面隐藏在当前浏览器窗口上面的高度)
(2)scrollHeight:是指整个页面的实际高度。
(3)clientHeight:当前浏览器窗口的可视高度。
(我理解为当scrollTop + clientHeight = scrollHeight时,说明拉到底了。)
但是我在chrome和ie8里测试出来发现这三个值之间的关系明显对不起来,不知为何,求高手指导。
谢谢!
            $(window).scroll(function () {
                var scrollTop = document.body.scrollTop;
                var scrollHeight = document.body.scrollHeight;
                var clientHeight = document.body.clientHeight;
                //alert(scrollTop.toString() + "," + scrollHeight.toString() + "," + clientHeight.toString());
            });

解决方案 »

  1.   

    <script type="text/javascript">
            function myFun(oDiv) {
                var n1 = parseInt(oDiv.scrollTop);
                var n2 = parseInt(oDiv.clientHeight);
                var n3 = parseInt(oDiv.scrollHeight);            (n1 + n2 == n3) && alert('终于到达最底端');
            }
        </script>
        <div id="div1" onscroll='myFun(this)' style="border: 1px #ff9966 dashed; width: 400;
            height: 100px; overflow-x: hidden; overflow-y: scroll">
            是否到最底端?<br />
            是否到最底端?<br />
            是否到最底端?<br />
            是否到最底端?<br />
            是否到最底端?<br />
            是否到最底端?<br />
            是否到最底端?<br />
            是否到最底端?<br />
            是否到最底端?<br />
            是否到最底端?<br />
            是否到最底端?<br />
            是否到最底端?<br />
            是否到最底端?<br />
            是否到最底端?<br />
            是否到最底端?<br />
            是否到最底端?
        </div>
    看看可以不
      

  2.   

    document.documentElement.scrollTop 和 document.body.scrollTop一个在ie、火狐、opera下有效,另一个在谷歌和苹果下有效。
      

  3.   

    html里面的元素样式(比如float等)会不会导致计算得出来的高度不正确啊。
    我用最基本的html(1楼那样的)测出来是正确的,但是如果是复杂一点的计算出来就不对了。