我遇到了一个问题,即当我的window.onload(或)触发时,我的DOM不显示。在我的实际项目中,我所调用的javascript函数收集了相当多的数据,所以我试图首先显示一个splash风格的屏幕。很简单...但它不像我期望的那样工作,我觉得我错过了一些东西。 我看到过类似的问题,但其中大多数人都有一个'提醒'作为测试解决方案的一部分。任何破坏脚本运行的东西都允许DOM显示......所以这些“解决方案”并不能解决我的问题。如果我单步执行代码(IE或Chrome),那么一切正常。 这是一个重现问题的示例。至少当我在Chrome中运行它时,直到第三秒才显示......然后警报弹出并显示加载div。在IE中,加载区不会显示,直到所有5秒钟过去并且功能完成。 在此先感谢您的任何想法!DOM在载入之前未显示
<!DOCTYPE html>
<html lang="en">
<head>
<style>
#Loading{
position: absolute;
Left: 50px;
Top: 50px;
width: 100%;
height: 100%;
background-color: yellow;
display: block;
}
</style>
<script>
window.onload = Hmm;
function Hmm(){
i = 0;
while (i < 5){
sleep(1000);
i++;
if (i == 3) {
alert("hi");
}
}
}
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
</script>
</head>
<body>
<div id="Loading">Loading...</div>
</body>
</html>
看看[这篇文章](http://stackoverflow.com/questions/588040/window-onload-vs-document-onload) –
感谢您的MX D快速笔记。我已经读了很多像这样,但它似乎没有帮助。我已经尝试window.onload和document.onload和body onload ....以及jQuery的方法...没有真正看到我的结果有任何不同。 – Thunder
您不应该使用while循环来使页面锁定。 – epascarello