2017-08-26 40 views
0

我们的服务器正在渲染一个带有大约1000行HTML数据的<table>元素。客户端JS然后从这个HTML data初始化DataTable。但是,在客户端上,大约需要3-5秒,然后才能完全初始化DataTable并显示分页。在此期间,完整的1000行将在DOM中呈现并显示。我没有在DataTable文档中找到它,但是有没有办法显示“处理”消息,或者在处理dom HTML时使用数据表达式来显示微调?是否有可能在jQuery-DataTables中为源代码数据显示spinner/load-msg?

此类选项可用于ajax或服务器端处理源,但未找到用于HTML数据源的选项。

+0

在这种情况下,微调器可能是一个坏主意,因为在初始化DataTable时页面将滞后/冻结,微调器也会如此。但是你可能会在初始化DataTable之前显示一个带有沙漏的静态加载消息。在此之后,删除味精。 –

+0

我的问题是为什么渲染该数据需要很长时间。千行琐碎 – Bindrid

+0

DataTables可能会产生大量的开销并进行一些排序,这可能会加起来......如果没有看到您的代码,我无法确定。 –

回答

0

您在数据表配置中添加了以下选项。

"processing": true & oLanguage: {sProcessing: "<div id='loader'></div>"} 

假设我们考虑你的表id是“example”。

JS代码:

$('#example').DataTable({ 

     "processing": true, 
     responsive: true, 
     oLanguage: {sProcessing: "<div id='loader'></div>"} 
}); 

CSS装载机:

#loader { 
    border: 16px solid #f3f3f3; 
    border-radius: 50%; 
    border-top: 16px solid #3498db; 
    width: 120px; 
    height: 120px; 
    -webkit-animation: spin 2s linear infinite; 
    animation: spin 2s linear infinite; 
    margin-left:200px; 
    margin-top:30px; 
} 

注意:您有调整的CSS按你的数据表

工薪例如您访问以下链接:

http://jsfiddle.net/dipakthoke07/ebRXw/3302/

相关问题