我已经成功地将 jQuery Infinite Ajax Scroll 插件集成到我的开发站点中 - 它被使用了两次,第一次在左侧的线程列表中,第二次在加载单个主题时 - 但我在第二个ias
实例时遇到了问题这里。
基本上一个主题的内容是通过 $.get 加载的,然后渲染到页面中,然后我setupThreadDetailDownwardScroll()
在 JS 中触发,它创建了一个 ias 的实例:
var iasDetail = jQuery.ias({
container: "#reply-holder",
item: ".post",
pagination: ".threaddetail-pagination",
next: ".load-next-inner-link a",
delay: 2000,
});
if (iasDetail.extension) {
iasDetail.extension(new IASPagingExtension());
iasDetail.extension(new IASTriggerExtension({
text: 'More Replies',
html: '<div class="scroll-pager"><span>{text}</span></div>',
offset: 10,
}));
iasDetail.extension(new IASNoneLeftExtension({html: '<div class="scroll-message"><span>No more replies</span></div>'}));
iasDetail.extension(new IASHistoryExtension({
prev: '.load-previous-inner-link a',
}));
}
iasDetail.on('load', function() {
$('#reply-holder').append(scrollLoading);
})
iasDetail.on('rendered', function() {
$('.scroll-loading').remove();
iasDetail.unbind();
})
但问题是这仅适用于您加载的第一个主题 - 您将在第一个线程中获得工作分页,但是当您打开下一个线程时它将回退到锚链接。
所以我认为一旦插入了这个新内容,我需要重新绑定 ias,这就是为什么我添加了unbind()
调用 in rendered
,然后setupThreadDetailDownwardScroll()
每当加载另一个线程时我都会重新调用。这也不起作用。
这里有正确的程序吗?