当滚动到页面的底部100像素,多个事件解雇的jQuery加载内容(jQuery load conte

2019-06-18 19:57发布

我希望当用户滚动和到达页面的近底部的情况下,以装载更多的内容,说大约离底部100像素,问题是,这些事件被解雇滚动每一次在页面的较低100像素,所以这是不可能发生的,原因很明显一个明显的问题,所以我想知道我怎么能做到这一点最好的,我已经检查了其他的答案/上的问题在这里,然而,一个解决方案,部分作品不适合什么,我需要它这样做,当我试图改变它,所以它会,它完全冻结每次我的浏览器。 这是一个问题: 检查如果用户已滚动至底部

我看答案是接近底部,但这里是他建议的代码:

$(window).scroll(function() {
   if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
       $(window).unbind('scroll');
       alert("near bottom!");
   }
});

现在,就像我说的,这样做的工作,并防止被解雇一个以上的事件,问题是我需要有事件的无尽的金额解雇,说,当你到达底部我加载100行的信息,但仍有1500多,我需要它每次重复加载的信息每笔金额(一旦你到达页面的每一次底部100像素的部分)

所以我试图做的是:

 function loadMore()
{
   alert("More loaded");
   $(window).bind('scroll');
 }

$(window).scroll(function() {
   if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
       $(window).unbind('scroll');
       loadMore();
   }
});

就像我说的,这是我的浏览器立即每次,结合部分冻结了。

Answer 1:

我有同样的问题了。 我遇到了这个链接 ,它真的帮了(和工作)!

更新:我看了一下代码,我认为,当你重新绑定,你缺少重新绑定到该功能。

的jsfiddle

 function loadMore()
{
   console.log("More loaded");
    $("body").append("<div>");
   $(window).bind('scroll', bindScroll);
 }

 function bindScroll(){
   if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
       $(window).unbind('scroll');
       loadMore();
   }
}

$(window).scroll(bindScroll);


Answer 2:

这将帮助你。

<script type="text/javascript">
var sIndex = 11, offSet = 10, isPreviousEventComplete = true, isDataAvailable = true;

$(window).scroll(function () {
 if ($(document).height() - 50 <= $(window).scrollTop() + $(window).height()) {
  if (isPreviousEventComplete && isDataAvailable) {

    isPreviousEventComplete = false;
    $(".LoaderImage").css("display", "block");

    $.ajax({
      type: "GET",
      url: 'getMorePosts.ashx?startIndex=' + sIndex + '&offset=' + offSet + '',
      success: function (result) {
        $(".divContent").append(result);

        sIndex = sIndex + offSet;
        isPreviousEventComplete = true;

        if (result == '') //When data is not available
            isDataAvailable = false;

        $(".LoaderImage").css("display", "none");
      },
      error: function (error) {
          alert(error);
      }
    });

  }
 }
 });
 </script>

通过这个链接,整篇文章和细节如何触发多个事件去。

当浏览器滚动到jQuery中尾页加载更多内容



Answer 3:

我有同样的问题。 为了解决这个问题,即时通讯使用underscore.js库,以防止点火多个事件。 链接在这里。 http://underscorejs.org/#throttle



文章来源: jQuery load content when scroll to bottom-100px of page, multiple events fired