0

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

window.onload=myFunction;

然后用户会看到原始页面,然后随着 js 代码运行并将其自己的位添加到页面上,该页面似乎会四处滑动。

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

4

2 回答 2

3

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

<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 将准备就绪,您不必等到所有图像都加载完毕。

于 2009-06-16T10:51:46.380 回答
0

好的,我发现了这个 jquery 的小块,它很有效:

$(document).ready(function() {
  //Call your function here
});
于 2009-06-16T10:45:15.147 回答