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

时间:2015-08-20 10:40:30

标签: javascript jquery infinite-scroll

我正在尝试实现无限滚动。除了一件事,一切都很好。

当用户滚动到结尾时,我使用向页面添加内容的$ .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
...

即使我不像疯了一样滚动,也会发生这种情况。

1 个答案:

答案 0 :(得分:0)

问题解决了。我在Ajax中发送请求,并通过远程表单发送请求......

相关问题