我正在使用实际有效的following 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 :(得分:6)
行。这实际上并不是Infinite Scroll插件中的错误。情况是,如果没有这样的页面,我的脚本没有返回404错误。它只是返回了一遍又一遍地附加到内容的最后一页。为了解决这个问题,我已经存储了我想要显示的所有页面的数量,在每个内容加载后增加了一个变量,并且在所有页面成功加载后解除了滚动。代码如下:
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 {}
});
我希望这会对别人有所帮助。
答案 1 :(得分:0)
只是一个方便的提示,但如果您在Magento类别产品列表页面上执行此操作,则可以添加以下内容以将加载的页面限制为正确的最大值
maxPage: "<?php echo $_productCollection->getLastPageNumber(); ?>",
答案 2 :(得分:0)
检查 checkLastPage 属性上的文档。如果将其设置为在ahref中定义的类,然后在服务器端代码中添加逻辑以确保整个ahref不会出现在搜索结果的最后一页,那么它将起作用。