等待无限滚动完成加载-Javascript

等待无限滚动完成加载-Javascript,javascript,jquery,html,javascript-events,infinite-scroll,Javascript,Jquery,Html,Javascript Events,Infinite Scroll,我正在使用一个“无限滚动”页面,当用户滚动到页面底部时,该页面一次最多调用40个元素。如何检测最近集合的所有内容已加载的时刻 这仅适用于初始页面加载: $(window).load(function() { // Do something }); 当页面在加载之后很长时间内出现“加载”时,是否存在类似的情况 抱歉,如果这是另一个问题的重复。我在其他任何地方都找不到解决方案。在进一步挖掘之后,我使用了这种方法的一种变体 我的最终结果如下所示: function ($container,

我正在使用一个“无限滚动”页面,当用户滚动到页面底部时,该页面一次最多调用40个元素。如何检测最近集合的所有内容已加载的时刻

这仅适用于初始页面加载:

$(window).load(function() {
    // Do something
});
当页面在加载之后很长时间内出现“加载”时,是否存在类似的情况


抱歉,如果这是另一个问题的重复。我在其他任何地方都找不到解决方案。

在进一步挖掘之后,我使用了这种方法的一种变体

我的最终结果如下所示:

function ($container, previousCount, callback) {
    var _imgs = $container.find('img'),
        _newImages = _imgs.slice(previousCount), // 'start index' for new images
        imgCount = _newImages.length, // count how many new ones exist
        counter = 0;

    _imgs.on('load', function() { // Count loaded
        runCallback(20, callback);
    }).on('error', function() { // Count errors, anyway, to reach total
        runCallback(20, callback);
    });

    function runCallback(counterLimit, callback) {
        // if counter meets new count or hits counter limit, run callback
        counter++;
        if (counter == imgCount || counter == counterLimit) {
            callback();
        }
    }
}
我为什么需要这样做的一些怪癖
previousCount
实际上可以大于DOM中当前图像的总数,这是因为人们可以跳过无限滚动的不同部分。因此,还需要检查
counter==counterLimit

另外,我需要在加载新的图像集时运行脚本,无论它们是成功还是失败。这就是为什么我同时使用,
.on('load'
.on('error'
)来运行计数。我注意到有时图像可能会出错(在这种特殊情况下这很好),它会抛出计数,并且永远不会触发回调

==================


编辑04/27/16:我发现了一个插件,可以为您处理这个问题,而且似乎工作得很好(除了在上一次加载之前的几个后续加载).退房。

如果无限,你怎么能等到最后呢?lol@AdamBuchananSmith-我指的是下一组元素何时完成加载。无限卷轴不会一次加载所有可能的数据,只会不断增加数据,直到用户执行加载下一个增量的操作(通常是页面底部附近的卷轴)。我想检测最近增量何时完成渲染。我从未读过问题,我只读过标题