我有点成功地将jQuery Infinite Ajax Scroll插件集成到my development site中 - 它使用了两次,首先在左侧的线程列表中,第二次是在你加载一个单独的主题时 - 但我有这里有第二个ias
实例的问题。
基本上,主题的内容通过$ .get加载,然后呈现到页面中,然后我在JS中触发setupThreadDetailDownwardScroll()
,创建一个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()
添加了rendered
来电,然后我重新调用{{1}每当加载另一个线程时。但这不起作用。
这里有正确的程序吗?
答案 0 :(得分:0)
您正在使用jQuery.ias(...)
绑定到$(window)
的滚动事件。在你的情况下,你可能想绑定到溢出div。因此你应该像这样指定scrollContainer:
$('#scrollContainer').ias(...)
修改强>
根据你的评论,我再看了一遍,可能找到了答案。当您致电jQuery.ias({...});
时,IAS会设置并等待$(document).ready
初始化。您说您想在setupThreadDetailDownwardScroll
函数中初始化IAS。您可以尝试使用以下代码自行初始化IAS
iasDetail.initialize();