我们可以隐藏用户的javascript加载吗?

时间:2009-06-16 10:38:16

标签: jquery onload

如果我有一个使用PHP生成的页面,然后使用JS进行修改,该页面使用:

运行

window.onload=myFunction;

然后用户看到原始页面,当js代码运行时,它会显示为四处闪烁,并将自己的位添加到页面上。

有没有办法避免用户能够看到这个过程,或者至少让他们不那么明显?也许有一种更适合加载javascript的方法而不是window.onload(一个可以开始工作,因为图像等正在下载)?

2 个答案:

答案 0 :(得分:3)

我建议首先在身体上设置一些类,这将切换一些元素的可见性。

<body class="loading"> .... </body>

然后,当脚本完成加载时,您可以删除此类并显示所需的所有内容。您甚至可以使用“加载”类来显示一些奇特的背景,例如Mozilla中的旋转圆点。

另外一些项目使用另一种加载脚本的方法而不是“onLoad”。首先,您创建一个名为“domReady”的全局数组。

window.domReady = [];

当你需要添加一些将在页面加载时运行的函数时,你只需将它推入这个数组:

window.domReady.push( function foo(){ alert('Hey!'); } );

在文档的最后一行,您将放置将运行所有推送过程的函数:

for (procedure in window.domReady) {
    window.domReady[procedure].call();
}

由于它将是结束标记之前文档的最后一行,因此DOM将准备就绪,您不必等到所有图像都被加载。

答案 1 :(得分:0)

好的,我发现了一个jquery的小块,它起作用了:

$(document).ready(function() {
  //Call your function here
});