用过 VB 的朋友也许写过下面的代码
While Tue
' Do something here
DoEvents
Wend这样的话,即使在这样的无限循环中,相应其他操作。不会将cpu死死的占住。再js中,有类似这样的功能吗?
While Tue
' Do something here
DoEvents
Wend这样的话,即使在这样的无限循环中,相应其他操作。不会将cpu死死的占住。再js中,有类似这样的功能吗?
解决方案 »
- 想取得与当前北京时间相差两小时的所有内容,如何判断呢?急
- 网页中图片的问题!
- 用extjs时出现'D'为空或不是对象错误是怎么回事?
- 求一个TEXT控件填入值,点一个按钮,把值传入到SELECT控件中的JS代码啊。
- 如何动态添加 文本框?
- 关于ListBox,这个代码怎么写
- 请问<iframe>标记问题??
- 包含的文件作用域是什么?
- javascript的window对象的setInterval方法为什么在netscape navigator浏览器下失效
- 如何动态声明个数不定的全局变量?
- 菜鸟的问题,IF语句,语法不对!请帮我!
- 请问如何实现和http://www.jb-aptech.com.cn/上的导航菜单的代码,谢谢
for(i=0;i<5;i++) {
alert("baisun");
}</script>
为何不可?
用java的线程可以试试吧
function action1{ //要花很长时间执行的动作document.msg.style.visibility="visible"; //显示让用户等候的信息真正要执行的任务
……………………
//document.innerText="改变提示内容" //这里可以改变提示的内容
……………………document.msg.style.visibility="hidden"; //显示让用户等候的信息}
</script>
<button onclick="action1()">
<DIV ID="divPrompt">
<INPUT TYPE="BUTTON" onclick=fnTest() value="test">
<SCRIPT LANGUAGE="JavaScript">
<!--
function fnTest(){
var oTab = null;
oTab = document.createElement("TABLE");
document.body.insertBefore(oTab);
divPrompt.innerHTML = "Loading data now ... ";
for(var i = 0; i < 500; i++){
oTab.insertRow().insertCell().innerHTML = "Current value of variable i is " + i;
}
}
//-->
</SCRIPT>按照正常的运行逻辑,在点击按钮“Test”后,屏幕应该马上出现Loading data now ...的提示,没错吧,但是,就是因为下面有一个长时间的循环语句,所以在运行的时候,屏幕不会立即出现相应的提示,而是等循环运行完毕之后才出来。这显然不是我所想要的结果。。
<DIV ID="divPrompt"></div>
<INPUT TYPE="BUTTON" ID="btnStartLoadData" onclick=fnStartLoadData() value="Load ...">
<INPUT TYPE="button" onclick=fnCancel() value="cancel">
<SCRIPT LANGUAGE="JavaScript">
<!--
// ****************************************************************************
var _ExecTimerID = null;
function _InterruptExec(i, N, strFnProcess, strFnEndProcess){
if(i++ < N){
_ExecTimerID = window.setInterval(
"_InterruptExec(" + i
+ ", " + N
+ ", '" + strFnProcess + "'"
+ ", '" + strFnEndProcess + "'"
+ ")"
, 0);
eval(strFnProcess)(i);
}else{
window.clearInterval(_ExecTimerID);
eval(strFnEndProcess)();
}
}
// ****************************************************************************
var oTab = null;
function fnStartLoadData(){
divPrompt.innerHTML = "Loading data now ... ";
LoadData();
}function fnCancel(){
window.clearInterval(_ExecTimerID);
btnStartLoadData.disabled = false;
divPrompt.innerHTML += " <b>Operation was be cancelled.</b>";
}function LoadData(){
if(oTab != null)
oTab.removeNode(true); oTab = document.createElement("TABLE");
oTab.border = 1;
document.body.insertBefore(oTab);
btnStartLoadData.disabled = true;
_InterruptExec(0, 400, "ProcessLoadData", "EndProcessLoadData");
}function ProcessLoadData(i){
divPrompt.innerHTML = "Load item " + i;
oTab.insertRow().insertCell().innerHTML = "Current value of variable i is " + i;
}function EndProcessLoadData(){
divPrompt.innerHTML = "Loading data now ... Okay";
btnStartLoadData.disabled = false;
}
//-->
</SCRIPT>