我确定这已被问了1000次之前,基本上我想要做的就是改变页面元素的内容来显示加载消息,而我的其他JavaScript代码(相当资源密集)完成。问题是消息在“其他JS处理”完成后不显示,直到完全失败。一个简单的例子...js处理完成时的基本的Javascript加载消息
<html>
<head>
<title> crappity crapness </title>
<script type="text/javascript">
function showMessage(){
document.getElementById("content").innerHTML = "please wait while we waste some time";
}
function wasteTime(){
//alert("oh joy");
pausecomp(3000);
//alert("marvelous!");
}
function pausecomp(millis)
{
var date = new Date();
var curDate = null;
do { curDate = new Date(); }
while(curDate-date < millis);
}
</script>
</head>
<body>
<div id="content">Blah</div>
<br/>
<a href="http://www.google.com" onclick="showMessage(); wasteTime();"> link </a>
</body>
如果我去掉了“哦喜悦”的警报,在div文本被立刻更新。如何在没有警报的情况下使其工作?
我知道我必须缺少一些简单的东西。 谢谢
很好的解释,感谢您的。我希望能够在不使用setTimeout的情况下做到这一点(因为它在表单的onSubmit中进行了验证),但似乎没有其他办法。无论如何,我想延迟一毫秒不是太糟糕! – hendinas 2011-03-31 07:18:25