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 中的正文水平滚动
DataTables 警告:table id=example - 无法重新初始化 DataTable - jQuery
jQuery DataTables - 无法重新初始化 DataTable