无限滚动执行动作两次或更多
Infinite scroll execute action twice or more
我正在尝试实现无限滚动。除了一件事,一切都很好。
当用户滚动到末尾时,我使用 $.getScript 执行异步请求,将内容添加到页面。但有时(太频繁),这个动作会执行两次。
如何才能只执行一次此操作,直到它再次到达页面末尾?
$(window).scroll(function () {
var more_posts_url;
// Get the URL of the next page
more_posts_url = $('.next_page').attr('href');
if ($(window).scrollTop() >= $(document).height() - $(window).height() - 200) {
console.log("LOADING PAGE "+more_posts_url);
// Call the next page and render it (via my back-end)
$.getScript(more_posts_url);
}
});
在我的控制台中我得到:
LOADING PAGE /pages/?page=2
LOADING PAGE /pages/?page=2
LOADING PAGE /pages/?page=3
LOADING PAGE /pages/?page=3
LOADING PAGE /pages/?page=3
LOADING PAGE /pages/?page=4
LOADING PAGE /pages/?page=5
...
即使我不疯狂滚动也会发生这种情况。
问题已解决。我在 Ajax 和通过远程表单发送请求...
我正在尝试实现无限滚动。除了一件事,一切都很好。
当用户滚动到末尾时,我使用 $.getScript 执行异步请求,将内容添加到页面。但有时(太频繁),这个动作会执行两次。
如何才能只执行一次此操作,直到它再次到达页面末尾?
$(window).scroll(function () {
var more_posts_url;
// Get the URL of the next page
more_posts_url = $('.next_page').attr('href');
if ($(window).scrollTop() >= $(document).height() - $(window).height() - 200) {
console.log("LOADING PAGE "+more_posts_url);
// Call the next page and render it (via my back-end)
$.getScript(more_posts_url);
}
});
在我的控制台中我得到:
LOADING PAGE /pages/?page=2
LOADING PAGE /pages/?page=2
LOADING PAGE /pages/?page=3
LOADING PAGE /pages/?page=3
LOADING PAGE /pages/?page=3
LOADING PAGE /pages/?page=4
LOADING PAGE /pages/?page=5
...
即使我不疯狂滚动也会发生这种情况。
问题已解决。我在 Ajax 和通过远程表单发送请求...