【发布时间】:2014-04-27 23:46:51
【问题描述】:
我已经成功地将 jQuery Infinite Ajax Scroll 插件集成到 my development site 中 - 它被使用了两次,第一次在左侧的线程列表中,第二次在加载单个主题时 - 但我遇到了麻烦第二个ias 实例在这里。
基本上一个topic的内容是通过$.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,这就是为什么我在 rendered 中添加了 unbind() 调用,然后在加载另一个线程时重新调用 setupThreadDetailDownwardScroll() .这也不起作用。
这里有正确的程序吗?
【问题讨论】:
-
我还有一个额外的问题是
IASSpinnerExtension不能使用这个特定的分页,还有IASNoneLeftExtension- 在使用异步加载时,它们实际上都没有将任何元素插入到 DOM 中,但是当您转到同一事物的永久链接渲染时,他们会这样做,例如this
标签: jquery-ias