如果我有一个使用PHP生成的页面,然后使用JS进行修改,该页面使用:
运行 window.onload=myFunction;
然后用户看到原始页面,当js代码运行时,它会显示为四处闪烁,并将自己的位添加到页面上。
有没有办法避免用户能够看到这个过程,或者至少让他们不那么明显?也许有一种更适合加载javascript的方法而不是window.onload(一个可以开始工作,因为图像等正在下载)?
答案 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
});