请问空等待函数怎写? javascript中好像没有,不过你可以通过for语句来实现。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用<meta http-equiv=refresh content="等待秒数; url=跳转的新页面">实现啊,就是把要用的脚本放在第一个页面,等待时间一到,就自动转向第二个页面。 还可以用函数setInterval("function()",time)和clearInterval(). var a=0;setTimeout("a=1",10000);while(a==0);…… 或是<script>……setTimeout("go_on()",10000);function go_on(){……}</script>这个不会超时 “你有点误会了,我要运行该等待的时候,下面的语句要停止执行的,你们提供的方法不能阻止下面语句的执行,还有没有方法阿,大哥们!”=====你把要阻止执行的语句写在另一个函数里,然后通过setTimeout来触发这个函数不就行了 好像除了showModalDialog没有其他简单的堵塞程序流程的方法了,但是变通一下也可以实现。下面是我以前写的一段代码(以前的帖子找不到了,再贴一遍呵呵):<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>emu</title></head><body> <div id=ttText style="display:none"> 程序运行中......<BR> <span id=currentState></span> <button onclick="CANCLE = true;">停止</button><BR> </div> <button onclick="run_step1()" id=button1>开始</button> <span id=result></span> <script> var i=0; var sum =0; var CANCLE = false; var max = 2000000; //循环的终点 var step = 9999; //步长:选择合适的步长可以在响应能力和计算速度上获得比较好的折衷。 //(步长用9999而不是10000只是为了显示的时候好看,其实都一样) var timeStart = ""; function run_step1() { if (i == 0)timeStart = new Date(); ttText.style.display=""; button1.style.display="none"; setTimeout("run_step2()",1); CANCLE = false; } function run_step2() { if (CANCLE) { ttText.style.display="none"; button1.style.display=""; button1.value="继续"; return; } if (i == null) { //初始化 //注意:这里不能写var,因为循环变量和结果都为全局变量。 i = 1; sum = 0; run_step2(); } else if (i<=max) { var endValue = i+step; if (endValue >max) endValue = max+1; for (j=i; j<endValue ; j++) sum += j; i+=step; currentState.innerText = i; result.innerText = "临时结果:"+sum; setTimeout("run_step2()",20); } else { run_step3(); } } function run_step3() { ttText.style.display="none"; button1.style.display=""; button1.value="重新开始"; result.innerText = "最终结果"+sum+" 用时:"+(new Date-timeStart)/1000+"秒" sum = 0; i = 0; } </script></body></html> ie下访问同域下的iframe被拒绝 请教iframe内插入图片后在谷歌浏览器下不能编辑问题 extjs 导出excel的问题 急 在线等待!js问题 高手请进! 跪求,如何把字符段转换在数据形式~~~ 求js电子书(你自己认为好的) 请问document.XXX.address.value中XXX如果为变量,应该如何写这个代码? 这样的提交如何做? 菜鸟提问:如何把form设置成变量 能否改变Select中每行的高度? 如何使onunload只在关闭窗口时触发,而页面刷新的时不触发。散分了!! 关于jsp打印的问题!!!!
setTimeout("a=1",10000);
while(a==0);
……
<script>
……
setTimeout("go_on()",10000);function go_on()
{
……
}
</script>这个不会超时
=====你把要阻止执行的语句写在另一个函数里,然后通过setTimeout来触发这个函数不就行了
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>emu</title>
</head>
<body>
<div id=ttText style="display:none">
程序运行中......<BR>
<span id=currentState></span> <button onclick="CANCLE = true;">停止</button><BR>
</div>
<button onclick="run_step1()" id=button1>开始</button>
<span id=result></span>
<script>
var i=0;
var sum =0;
var CANCLE = false;
var max = 2000000; //循环的终点
var step = 9999; //步长:选择合适的步长可以在响应能力和计算速度上获得比较好的折衷。
//(步长用9999而不是10000只是为了显示的时候好看,其实都一样)
var timeStart = "";
function run_step1()
{
if (i == 0)timeStart = new Date();
ttText.style.display="";
button1.style.display="none";
setTimeout("run_step2()",1);
CANCLE = false;
}
function run_step2()
{
if (CANCLE)
{
ttText.style.display="none";
button1.style.display="";
button1.value="继续";
return;
}
if (i == null)
{
//初始化
//注意:这里不能写var,因为循环变量和结果都为全局变量。
i = 1;
sum = 0;
run_step2();
}
else if (i<=max)
{
var endValue = i+step;
if (endValue >max) endValue = max+1;
for (j=i; j<endValue ; j++)
sum += j;
i+=step;
currentState.innerText = i;
result.innerText = "临时结果:"+sum;
setTimeout("run_step2()",20);
}
else
{
run_step3();
}
}
function run_step3()
{
ttText.style.display="none";
button1.style.display="";
button1.value="重新开始";
result.innerText = "最终结果"+sum+" 用时:"+(new Date-timeStart)/1000+"秒"
sum = 0;
i = 0;
}
</script>
</body>
</html>