请问为什么 我不能把setTimeout() 放到while 循环里?
            $(document).ready(function(){
                var display_number = 0;
var displayString=0;
var intervalTime=2000;
var continueGame= true;
setTimeout("alert('this is a test')", intervalTime);
      
            });// end of all functions这样写 就没问题。
            $(document).ready(function(){
                var display_number = 0;
var displayString=0;
var intervalTime=2000;
var continueGame= true;

runGame();

function runGame(){                    while (continueGame ) {
setTimeout("alert('this is a test')", intervalTime);
                 

                    }
                }       
            });// end of all functions
这样写浏览器就会当掉。如果我必须在 while 循环里 用js做delay,应该如何做?
目的是想让每个while循环中delay 的 时间 可以通过timeInterval 来调整哪位帮忙指点一下 谢谢先!

解决方案 »

  1.   

    while (continueGame ) continueGame 一直为true,你的循环跳不出来呀
      

  2.   

    再说setTimeout不是等待intervalTime才开始执行alert('this is a test')以及下面的语句而是从setTimeout开始计时,同时会马上执行下面的句子
      

  3.   

    目的是想让每个while循环中delay 的 时间 可以通过timeInterval 来调整什么意思啊 while循环中delay  什么东西调整 执行间隔时间
    var intervalTime=100;function do()
    {
    intervalTime +=5;
     setTimeout(do, intervalTime);
    }
      

  4.   


    不需要跳出循环啊。 例如说我 想一直刷新 一个div 直到 用户点击另一个按钮 (这个按钮会更改 continueGame 成false)
      

  5.   

    对不起, 我没说清楚你说的对 我测试时 也感觉在while 循环中的setTimeout 重来没被调用过。。像第一段语句。 不妨到while循环中 就可以正常调用。就是想请问一下如果一定要在while 或者do 循环中做一个延迟 应该怎么做。
      

  6.   

    ajax 发送同步请求,可以达到此目的!