div底部的负载无法正常工作

时间:2013-10-24 15:15:11

标签: javascript jquery append bind

所以这个问题不一定是如何让它发挥作用,因为它确实如此。但它非常非常多。我遇到的问题是,当你向下滚动时,有时需要一段时间才能加载,以便函数重新激活或者某些东西。无论哪种方式,变量都被重置,它连续加载5页。所以这是错误的。我在这里有代码:

var ldid = 10;
jQuery(
    function ($) {
        $('#allpostcontainer').bind('scroll', function () {
            if ($(this).scrollTop() +
                $(this).innerHeight() >= $(this)[0].scrollHeight) {

                $("#allpostcontainer").append($("<div>").load("/streampage.php?id=" + ldid, function () {
                    ldid = ldid + 10;
                }));

            }
        })
    }
);

2 个答案:

答案 0 :(得分:1)

您可以使用旗帜。

如果正在加载,您可以将其设置为true。

如果加载完成,则将其设置为false 并且只有在它为假时才发出ajax请求。

var ldid = 10,
    isPageLoading = false;

jQuery(
    function ($) {
        $('#allpostcontainer').bind('scroll', function () {
            if ($(this).scrollTop() +
                $(this).innerHeight() >= $(this)[0].scrollHeight && !isPageLoading) {

                isPageLoading = true;

                $("#allpostcontainer").append($("<div>").load("/streampage.php?id=" + ldid, function () {
                ldid = ldid + 10;

                isPageLoading = false;

            }));

        }
    })
}
);

答案 1 :(得分:0)

如果您想在“allpostcontainer”div的末尾设置Div标记,请在页面下方放置脚本。

(#bottom是Div标签ID,你需要在底部显示。#allpostcontainer是div标签id,它是带滚动的主要Div)

<script>
    $(document).ready(function () {
        $('#bottom').css('position', 'absolute');
        $('#bottom').css('top', $('#allpostcontainer').height() - $('#bottom').height());
    });
</script>

如果您有任何疑问,请与我们联系。

谢谢...