2011-01-22 103 views
1

我已经完成了stackoverflow的先决条件搜索和在互联网上查找。我怀疑答案是'这不可能完成。 '但我希望这里有人可能有解决方案。如何在JS完成之前延迟页面显示?

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

是否有延迟页的显示,直至所有的JavaScript结束(即我所有的YUI组件完成渲染)的方法吗?我不知道这会如何发生,因为很多JS依赖于DOM来操纵它。

+0

不是一个真正的答案,我不usualy使用YUI,你有没有尝试预加载CSS的形象?这篇文章可以帮助吗? http://www.yuiblog.com/blog/2010/06/10/gallery-preload – andrea 2011-01-22 03:08:55

回答

1

是否有延迟的页面

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

  1. 添加的元素周围的包装,你 要隐藏(或使用 位置:绝对掩盖它)
  2. 给该div其使用 的背景用 正z索引
  3. 当所有您的JavaScript加载除去 z索引或背景的颜色改变为透明
周围的颜色

JavaScript代码是这样的:

  • 做1和2
  • 加载JS
  • 做3

当然它需要时线。
作为替代你可以在元素本身上使用visibility:hidden/visible,但我不知道是肯定的,如果是很好的支持。

+0

这是有帮助的。我会更多地考虑如何实现这一点。 – Avery 2011-01-25 07:05:01

0

试着把你的Javascript放在页面的头部,就好像它接近页面末尾一样,它会稍后加载(使第一个元素加载速度更快)。或者,更好的是,通过CDN(例如Amazon CloudFront)提供您的Javascript压缩文件,以便快速加载。

相关问题