无限滚动执行动作两次或更多

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 和通过远程表单发送请求...