jQuery Infinite Ajax Scroll プラグインを開発サイトに統合することにある程度成功しました。最初は左側のスレッド リストで、2 番目は個々のトピックをロードするときに 2 回使用されますが、2 番目のias
インスタンスで問題が発生しています。ここ。
基本的に、トピックのコンテンツは $.get を介して読み込まれ、ページにレンダリングされます。次にsetupThreadDetailDownwardScroll()
、ias のインスタンスを作成する JS でトリガーします。
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
に再呼び出しします。setupThreadDetailDownwardScroll()
これもうまくいきません。
ここに正しい手順はありますか?