在JS完成之前,如何延迟页面显示?

时间:2011-01-22 02:54:35

标签: dom yui pageload

我已经完成了stackoverflow的先决条件搜索并在互联网上查找。我怀疑答案是'这不可能做到。 “但我希望这里有人可以找到解决方案。

我的页面加载正常,但我的许多YUI组件在显示之前没有完全加载。例如,我的DataTable将在显示时自行调整大小,或者我的按钮将以其原生形式出现,然后获得YUI-fied。

有没有办法延迟显示页面,直到完成所有Javascript(即我的所有YUI组件都已完成渲染)?我不知道这会发生什么,因为很多JS依赖于存在的DOM来操纵它。

2 个答案:

答案 0 :(得分:1)

  

有没有办法延迟显示   页面

如果我理解正确你想隐藏它直到它完成? 如果是这样的话,我有一个想法:

  1. 在你的元素周围添加一个包装器 想隐藏(或使用 位置:绝对覆盖它)
  2. 给该div一个使用的背景 一个周围的颜色 积极的z-index
  3. 当你所有的javascript加载后删除 z-index或将背景颜色更改为透明
  4. 您的javascript代码如下所示:

    • 做1.和2.
    • 加载你的js
    • 做3。

    当然需要保持同步 作为替代方案,您可以在元素本身上使用visibility:hidden / visible,但我不确定它是否得到了很好的支持。

答案 1 :(得分:0)

尝试将您的Javascript放在页面的head部分,好像它在页面的末尾附近,稍后加载(使第一个元素加载更快)。或者,更好的是,通过CDN(例如Amazon CloudFront)提供压缩的Javascript,以便快速加载。