将DataTables更新为1.10后,bScrollInfinite被新扩展名Scroller取代。问题是Scroller正在使用表格div中的虚拟滚动条。我想用MAIN BROWSER滚动条创建简单的(我知道,无限卷轴有很多麻烦)无限滚动。
目前,我有类似的东西:
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');
}
});
这样可以正常工作,但它会用新行(来自新页面)替换现有行。我已经尝试了成功回调Ajax调用和rows()。添加(...)。draw()方法但是在触发draw()之后,我得到了无限循环(因为 draw 调用Ajax)而不是无限滚动:(
基本上,我需要在表的末尾添加新行,而不是替换现有的行。
顺便说一下,类似的问题是posted to DataTables forum,但没有有用的答案。
答案 0 :(得分:0)
table.datatable({
iDisplayLength: 25,
serverSide: true,
ordering: false,
searching: false,
sAjaxSource: //url here,
scrollY: 1014 //can be any value,
scroller: {
loadingIndicator: true
}
}
这是可行的,但有一件事你应该记住包括SCROLLER PLUGIN。它不是jquery.datatables.js
的一部分