我正在研究Infinite Load
(例如延迟加载)类型功能,这是迄今为止的功能:
$(window).scroll(function() {
var ScrollPosition = $(window).scrollTop() + $(window).height();
var LoadMorePosition = $(document).height()-100;
if( ScrollPosition == LoadMorePosition ) {
console.log('loading more');
loadMoreItems();
}
});
它在大多数情况下都在工作,只是loadMoreItems
一旦人滚动到阈值,该函数就会被调用 20-30 次。
我在想一个 setTimeout 类型的东西可能会起作用,但后来我意识到它只有在 Ajax 内容加载足够快的情况下才会起作用(这不能保证)。
我需要的是一种方法来检测它们是否达到阈值,然后只调用一次函数,直到它们再次达到滚动阈值。