DataTables - 处理div不会显示是否有太多记录

时间:2017-06-27 10:31:34

标签: jquery html css datatables

我在Web应用程序的服务器端模式下使用DataTables 1.10.15。

该应用程序在数据库中有大约240,000条记录。我已将每页选项的结果更改为如下(每页25,100,250,500,1000,2500,5000)设置为默认的250条记录:

$('#myTable').DataTable( {
    // Ajax call etc ...

    "processing": true,
    "serverSide": true,
    "lengthMenu": [ 25, 100, 250, 500, 1000, 2500, 5000 ],
    "pageLength": 250, 
});

由于制作ajax请求所需的时间,我想显示&#34;处理&#34;消息"processing": true。所有这一切都是切换此<div>的可见性:

<div id="myTable_processing" class="dataTables_processing panel panel-default" style="display: none;">Processing...</div>

然而,这种方式存在问题。在DataTables CSS文件中,我们有:

div.dataTables_processing {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    margin-left: -100px;
    margin-top: -26px;
    text-align: center;
    padding: 1em 0;
}

这对于大型结果集(例如500,1000,2500,5000条记录)永远不会有效,因为它从屏幕顶部显示50%。如果您有数千条记录的表格,它就在页面下方,用户永远不会看到它,除非它们碰巧向下滚动到相应的部分 - 这也会因显示的记录数量而有所不同,并且它们不会#39有时间这样做。

为了确保这种情况,我向lengthMenu添加了一些选项,例如1, 2, 3, 4, 5,如果浏览器中没有垂直滚动条,它确实有用 - 大概是因为50从顶部仍然可以看到%?

有更好/不同的方式来实现这个吗?

我在CSS中尝试了position: fixed;,但它没有做得更好。

0 个答案:

没有答案