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

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

【问题讨论】:

    标签: javascript jquery 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 更早加载
    猜你喜欢
    • 2020-05-10
    • 1970-01-01
    • 1970-01-01
    • 2011-11-17
    • 1970-01-01
    • 2020-10-08
    • 2017-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多