2012-02-19 48 views
2

我使用following jQuery InfiniteScroll插件,它确实可以工作,但保留了,过载等最后一个页面加载的最后一页,它不能被停止。下面是我使用的代码:的jQuery插件InfiniteScroll遍地

$('#catalog').infinitescroll({ 

     navSelector : "div.page-nav:last",    
         // selector for the paged navigation (it will be hidden) 
     nextSelector : "div.page-nav a.navnext:last",  
         // selector for the NEXT link (to page 2) 
     itemSelector : "#catalog div.single",   
         // selector for all items you'll retrieve 

     bufferPx  : 400 
}); 

我的分页如下所示:

<div id="page-nav" class="page-nav"> 
    <div class="top"> 
     <a id="page-1" class="active">1</a> 
     <a id="page-2" href="?page=2">2</a> 
     <a id="page-3" href="?page=3">3</a> 
     <a id="page-4" href="?page=4">4</a> 
     <a id="page-5" href="?page=5">5</a> 
     <a id="page-6" href="?page=6">6</a> 
     <a id="page-7" href="?page=7">7</a> 
     </div> 
    <div class="bottom"> 
     <span class="right"> 
      <a class="navnext" href="?page=2" id="next-2">Next</a> 
       <span class="next">Ctrl</span> 
     </span> 
    </div> 
</div> 

任何人可以帮助我,好吗?

谢谢。

+0

它不会是“无限”的页面否则... – hackartist 2012-02-19 21:34:46

回答

6

确定。这实际上并不是无限滚动插件中的一个错误。这种情况是,如果没有可用的页面,我的脚本没有返回404错误。它只是简单地返回了被反复附加到内容的最后一页。为了解决这个问题,我已经存储的所有网页我已经和想显示的号码,递增变量中的每个内容加载后unbinded滚动一旦所有的页面已成功加载。代码如下:

var curPage = 1; 
var pagesNum = $("div.page-nav").find("a.pag:last").text(); // Number of pages 

$('#catalog').infinitescroll({ 

     navSelector : "div.page-nav:last",    
         // selector for the paged navigation (it will be hidden) 
     nextSelector : "div.page-nav a.navnext:last",  
         // selector for the NEXT link (to page 2) 
     itemSelector : "#catalog div.line",   
         // selector for all items you'll retrieve 

     bufferPx  : 800 

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

      curPage++; 

      if(curPage == pagesNum) { 

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

      } else {} 

}); 

我希望这会帮助别人。

+2

在最近的版本,你可以简单地包括参数'maxPage:pagesNum'(定义pagesNum后),而不是回调函数。 – spsaucier 2013-07-19 02:23:21

0

只是一个方便的提示,但如果你正在做这Magento的类别产品列表网页上,你可以添加以下限制加载到正确的最大

maxPage: "<?php echo $_productCollection->getLastPageNumber(); ?>",