在“上的表现不佳”;响应表“;javascript
我网站上的页面通常有10个表,每个表有15列30行 在桌面上,这很好。在手机上,这很糟糕 我的数据不需要任何包装,也不需要“堆叠”解决方案。然而,我的专栏有明确的优先级,这是解决这个问题的关键 我想做的是,让JS决定可以显示哪些列,从最重要的列开始。然后,它会逐渐添加不太重要的列,直到它与用户设备有良好的匹配 理论上听起来很简单 实际上,我一直在玩dataTables.net的响应插件,在我的i5 XPS13笔记本电脑上呈现这样一个页面的时间是3.5秒。如果没有JS代码,它只需半秒钟 您认为我所问的是可能的,还是DOM操作的级别总是需要几秒钟 编辑:jsFiddle显示示例:在“上的表现不佳”;响应表“;javascript,javascript,datatables,Javascript,Datatables,我网站上的页面通常有10个表,每个表有15列30行 在桌面上,这很好。在手机上,这很糟糕 我的数据不需要任何包装,也不需要“堆叠”解决方案。然而,我的专栏有明确的优先级,这是解决这个问题的关键 我想做的是,让JS决定可以显示哪些列,从最重要的列开始。然后,它会逐渐添加不太重要的列,直到它与用户设备有良好的匹配 理论上听起来很简单 实际上,我一直在玩dataTables.net的响应插件,在我的i5 XPS13笔记本电脑上呈现这样一个页面的时间是3.5秒。如果没有JS代码,它只需半秒钟 您认为我所
在我的机器上平均为250ms,这只适用于一个33行的表。这个问题太宽泛,没有上下文。请提供一个我现在已经添加的@halfzebra,谢谢!若上面的代码片段代表了您当前的DataTables设置,我真的想知道,为什么要使用DataTables?响应性显然是一个性能杀手,我建议在顶部使用CSS魔术,使用
@media
查询隐藏列。PS:尝试删除responsive
属性,您将看到x5性能提升。响应部分是我唯一真正感兴趣的部分,datatables是我发现的第一个可以处理列优先级的建议。
$(document).ready(function() {
var start = performance.now();
$('table').DataTable( {
paging: false,
ordering: false,
info: false,
autoWidth: false,
deferRender: false,
orderClasses: false,
jQueryUI: false,
lengthChange: false,
processing: false,
scrollX: false,
scrollY: false,
searching: false,
serverSide: false,
stateSave: false,
responsive: {
details: {
// display: '',
// type: ''
}
}
});
alert(performance.now() - start);
});