在一个循环中,想让程序等一段时间再执行下一次循环。
如:
for(var i = 0;i<10;i++){
    document.write(i);
    在这里停顿几秒;
}
非setTimeout setInterval方法。希望各位好心的大虾帮忙

解决方案 »

  1.   

    做一个空循环能达到那个效果的不?~也可以setTimeout()一个什么也不做的函数~不会其他的停顿的方式……
    学习^^
      

  2.   

    参考JK的Sleep函数:
    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>JK:支持民族工业,尽量少买X货</title><script language=javascript>function sleep(num) //JK
    {
    var tempDate=new Date();
    var tempStr="";
    var theXmlHttp = new ActiveXObject( "Microsoft.XMLHTTP" );
    var goneMsel=0;
    while(goneMsel<num )
    {
    goneMsel=new Date()-tempDate;
    tempStr+="\n"+goneMsel;
    var url="about:blank?JK="+Math.random();
    if(num-goneMsel>1000) url="http://d:";
    try{
    theXmlHttp .open( "get",url , false );
    theXmlHttp .send();
    }
    catch(e){;}
    }
    containerDiv.innerText=tempStr;
    return;
    }
    </script>
    </head><body>
    js不耗(耗得比较少)cpu的
    sleep(ms):<input value=10000 name=aaa > ,<input type=button value="alert(0);sleep(..);alert(1);" onclick="alert(0);sleep(document.all.aaa.value);alert(1);"> <div id=containerDiv>
    </div>
    </body></html>
      

  3.   

    感觉这样子的封装 还是用setTimeout封装看起来直观,hoho~~^^
      

  4.   

    呵呵,风之石这个sleep函数挺有意思,就是麻烦点,还要考虑浏览器兼容的吧,学习了时间停顿,还是用setTimeout好了