我有一个使用MySQL数据库加载内容的页面。用户可以使用几个按钮过滤内容,然后使用jQuery将此内容替换为动态提取的数据。我在无限滚动中使用的链接也会改变。但无限滚动插件似乎只采用相同的旧链接而不是新加载的链接来触发滚动。
我使用的jQuery infinity滚动插件
https://cdnjs.cloudflare.com/ajax/libs/jquery-infinitescroll/2.1.0/jquery.infinitescroll.js
这是我的代码
<div class="container" id="myposts">
<div class=”post”>
<p>my content</p>
</div>
</div>
<nav id="page-nav"><a href="myposts.php?page=2"></a></nav>
//jQuery code
$('#myposts').infinitescroll({
navSelector : '#page-nav', // selector for the paged navigation
nextSelector : '#page-nav a', // selector for the NEXT link (to page 2)
itemSelector : '. post ', //
loading: {
finishedMsg: 'End of the page',
img: 'images/loader.gif'
}
}, function(newElements, data, url){
});
我正在改变
的滚动触发链接<nav id="page-nav"><a href="myposts.php?page=2"></a></nav>
要
<nav id="page-nav"><a href="getposts.php?page=2"></a></nav>
但是插件仍然会使用旧链接来触发滚动。这有什么解决方案吗?感谢你的时间。
答案 0 :(得分:0)
您可以收听append.infiniteScroll
事件,然后从您的信息页更新链接
https://infinite-scroll.com/events.html#append
https://infinite-scroll.com/api.html#option
这样的事情:
$container.on( 'append.infiniteScroll', function( event, response, path, items ) {
$container.infiniteScroll( 'nextSelector', '#page-nav a' )
});