Javascript不会在页面末尾触发

时间:2016-03-05 19:27:54

标签: javascript scroll

我试图在下面的页面末尾触发警报,但是一滚动就会一直触发。我尝试了几种不同的方法,但每次在页面底部之前触发警报。 缺少代码只是一个DB调用,触发大约20个结果,标题和php包含显示结果。显示的结果显示了大约4个屏幕的数据。

<body>
    <div class="maincontainer">
        <div class="profilecontainer">
            <row>
                <column cols="4" class="left">
                    This will have text
                </column>
                <column cols="8" class="right">
                    <ul class="post-column">
                        <?php 
                        foreach ($data as $lineitem):
                        $type = $lineitem['type'];
                        if($type == "article"){
                           require('php/articleitem.php');
                        }

                        endforeach; 
                        ?>
                    </ul>
                </column>
            </row>
        </div>
    </div>

</body>

</html>

<script>
    $(window).scroll(function () {
        if ($(document).height() <= $(window).scrollTop() + $(window).height()) {
            alert("End Of The Page");
        }
    });
</script>

3 个答案:

答案 0 :(得分:0)

window.innerHeight + document.body.scrollTop大于或等于document.body.offsetHeight时,您就在底部

答案 1 :(得分:0)

当您在HTML顶部没有文档类型时,$(window).height()的结果将不会如预期的那样:

<!DOCTYPE html>

添加它,您将不会再过早收到提醒。

答案 2 :(得分:0)

我需要设置以下css值。

.body {
   position: absolute;
    min-height: 100%;
    min-width: 100%;
}