2015-04-25 81 views
1

我知道這個主題是溢出在這個網站上,但是當使用下面的無盡滾動插件,我希望能找出一種方式從我的ajax請求只是加載,但不知何故只是在某個點結束。例如最終達到底部?任何幫助深表感謝?如何結束JQuery無盡的滾動

 <script type="text/javascript"> 
$(window).scroll(function() 
{ 
    if($(window).scrollTop() == $(document).height() - $(window).height()) 
{ 
    $('div#loadmoreajaxloader').show(); 
    $.ajax({ 
    url: "{{url('contentpage')}}", 
    success: function(html) 
    { 
     if(html) 
     { 
      $("#postswrapper").append(html); 
      $('div#loadmoreajaxloader').hide(); 
     }else 
     { 
      $('div#loadmoreajaxloader').html('<center>No more posts to show.</center>'); 
     } 
    } 
    }); 
    } 
}); 
</script> 
+0

如果你能結束它,它不會是無休止的* *! – adeneo

+0

我知道!但你是說我更好使用替代插件,或者我可以通過添加某種循環來改變它只附加一定次數? – Billy

+0

如果你使用'on()'綁定滾動事件,你可以在某個時候使用'off()'來解除綁定它 – adeneo

回答

1

試試這個,

var cp = 1; 
var pagestotal = $("div.page-nav").find("a.pag:last").text(); 

function() { // Optional callback when new content is successfully loaded 

     cp++; 

     if(cp == pagestotal) { 

      $(window).unbind('.infscr'); 

     } else {} 
+0

您能否給我一個關於如何在上面的代碼中實現這個功能的想法? – Billy

0

怎麼樣時,有沒有要顯示的內容,然後設置一個標誌,假的。

因此,要做到這一點:

<script type="text/javascript"> 
    var postToShowFlag = true; 
    $(window).scroll(function() { 
     if (postToShowFlag) { 
     if ($(window).scrollTop() == $(document).height() - $(window).height()) { 
      $('div#loadmoreajaxloader').show(); 
      $.ajax({ 
      url: "{{url('contentpage')}}", 
      success: function(html) { 
       if (html) { 
       $("#postswrapper").append(html); 
       $('div#loadmoreajaxloader').hide(); 
       } else { 
       $('div#loadmoreajaxloader').html('<center>No more posts to show.</center>'); 
       postToShowFlag = false; 
       } 
      } 
      }); 
     } 
     } 
    }); 
</script>