jQuery DataTables 初始化延迟

Posted

技术标签:

【中文标题】jQuery DataTables 初始化延迟【英文标题】:jQuery DataTables Initialization delay 【发布时间】:2011-12-19 01:30:20 【问题描述】:

当我使用 DataTables 替换表中的数据集时,它的效果很好,但有时当您重新加载页面时,需要半秒钟的时间来包装显示原始表标记的表,并在很短的时间内显示原始表标记。我想知道是否有一种方法可以仅在 DataTables 完成包装表格时才显示页面内容?

【问题讨论】:

【参考方案1】:

有几种方法可以做到这一点。最简单的可能如下:

首先,通过 CSS 将您的表格设置为 display:none,甚至(喘气)在您的标记中使用内联样式。

然后在你的 DataTables 初始化中,使用 fnDrawCallback 来显示表格:

"fnDrawCallback": function() 
   $(this).show();

现在,请记住,实际的 table 最终会在上方和下方(用于页眉和页脚)有 div。刷新页面可能会在表格本身刷新时保持这些显示。如果您只想隐藏和显示所有内容,则需要将表格包装在容器 div 中,然后使用 $(this).show() 而不是 $('.container').show()

【讨论】:

感谢您的回答。我想出了类似的想法,但我使用了visibility:hidden;这样它就不会弄乱列宽 好东西。我有时会忘记在准备视觉呈现时“占用”空间是可以的;这很好地提醒了我,可见性:隐藏是我在自己的项目中更经常考虑的选项!【参考方案2】:

尝试使用body.onload 事件处理程序执行此操作。

【讨论】:

我现在有我的函数 onReady,它比 onload 更早加载

以上是关于jQuery DataTables 初始化延迟的主要内容,如果未能解决你的问题,请参考以下文章

表格标题不与 jQuery DataTables 中的正文水平滚动

jQuery DataTables 和初始数据加载

DataTables 警告:table id=example - 无法重新初始化 DataTable - jQuery

jQuery DataTables - 无法重新初始化 DataTable

JQuery DataTables Columns 使用数据自动初始化

初始化 jQuery DataTables 时,引导工具提示不是功能