将 DataTables 更新到 1.10 后, bScrollInfinite 被新扩展Scroller取代。问题是 Scroller 正在使用表的 div 中的虚拟滚动条。我想通过主浏览器滚动条创建简单的(我知道,无限滚动有很多麻烦)无限滚动。
目前,我有这样的事情:
var dataTable = $('#data-table').DataTable({
serverSide: true,
pageLength: 100,
searching: true,
fixedHeader: {
header: true,
headerOffset: 50
},
ajax: {
url: '/url',
method: 'POST'
},
columns: [ 'col1', 'col2' ],
});
$(window).scroll(function() {
if ($(window).scrollTop() + $(window).height() == $(document).height()) {
console.log("bottom!");
dataTable.page('next').draw('page');
}
});
Run Code Online (Sandbox Code Playgroud)
这工作正常,但它用新行(来自新页面)替换现有行。我已经尝试了Ajax 调用和 rows().add(...).draw() 方法的成功回调,但是在触发 draw() 之后,我得到了无限循环(因为draw调用了 Ajax)而不是无限滚动 :(
基本上,我需要在表的末尾添加新行而不是替换现有行。
顺便说一句,类似的问题已发布到 DataTables 论坛,但没有有用的答案。