javascript - 如何在用户滚动到页面底部时只加载一次数据?

标签 javascript ajax scroll jquery

我有一个从 PHP 脚本动态加载 HTML 的页面,当用户滚动到页面底部时,该脚本会抓取另一个站点以获取图像链接。问题是脚本需要一段时间才能完成,并且检测用户已滚动到页面底部的功能会被触发多次,并且 HTML 会被多次加载,从而导致重复的图像集。有没有一种简单的方法让 javascript 等到 HTML 加载后再让函数再次运行?检测/加载脚本如下所示:

$(window).scroll(function() {
    if ($(window).scrollTop() >= $(document).height() - $(window).height() - 10) {
        //alert("at the bottom.");
        $.post("function.php", function(data) {
            $('#wrap').append(data);
            });
    }
});

谢谢!

最佳答案

var loadAgain = true;
$(window).scroll(function() {
    if (loadAgain && $(window).scrollTop() >= $(document).height() - $(window).height() - 10) {
        loadAgain = false;
        //alert("at the bottom.");
        $.post("function.php", function(data) {
            $('#wrap').append(data);
            loadAgain = true;
        });
    }
});

关于javascript - 如何在用户滚动到页面底部时只加载一次数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11352746/

相关文章:

javascript - 具有真实复选框的 Dynatree

scroll - 如何平滑滚动SWT composite?

android - StaggeredGridView 在滚动时卡在中间

javascript toLocaleTimeString 2-digit only second or minute 不起作用

javascript - 如果输入值改变,jQuery 添加 .css()

javascript - 通过AJAX Get填充显示迭代表

javascript - Ajax Onchange 替换 div 不起作用

javascript - 将本地文件中的 json 数据加载到 React JS 中

iphone - UITableView 自定义滚动条

javascript - 使用 jQuery 在 $each 中获取输入的值