嗬嗬,想起来个比较恶劣的方法。
var sleeping = true;
setTimeout("sleeping = false", 1000); // 1 second
while(sleeping) {}强制WHILE,HEHE,倒是能实现,很恶劣吧。

解决方案 »

  1.   

    Amwpfiqvy(给我分吧,让我升仙) :多谢你,帮我想想,急用,成功不成功一定给你分。
    bigman_lfj(盐水小鱼) :你的方法我还没有试验,但从代码上分析,应该不可行,
    原因是,settimeout无论有没有被执行,while语句会马上被运行,所以会形成死循环。
      

  2.   

    我昨晚的考虑结果是没有办法啊。像楼上这种是不行的,因为setTimeout是要要在浏览器从JS引擎收回控制权以后其目标代码才能在指定的时间后运行,而浏览器要收回控制权又必须等当前JS栈运行完成。即:楼上这种setTimeout里的内容永远无法执行到,哪怕设为0秒。
    while(sleeping)这里是无法中止的循环。===========
    相信已经有人测过楼上的代码了,跟我说的一样吧?
      

  3.   

    晕用setTimeout多好啊
    如果不想用那么就用2楼的方法吧。。
    不过要改下在用。
    比如过3秒
    var ot = 获取下时间。然后在加上3秒。
    while (true) {
    var nt = 获取下时间。
    if (nt >= ot) {
    执行代码.
    break;
    }
    }
      

  4.   

    js是不支持多线程的.它只能顺序的被执行,没有线程休眠这一说
    实时的执行只能用setTimeout,setInterval来实现,没有其它更合理的方法.
    而且,使用这个的时候,也并不是你指定3秒就一定3秒后执行,如果到三秒的时候,有程序在执行,它会等到这个程序执行完毕.
      

  5.   

    一个就是用settimeout,还一个就是在循环里获取代码时间差,然后执行代码并退出循环。
      

  6.   

    muxrwc(王辰) 的方法也不行,会出现错误。
      

  7.   

    /**
    我知道,可以将line3和line4放到一个function里,
    用settimeout(function,1000)来达到使line3和line4等待指定时间后再执行,
    可是,我不想用这种方法,所以想请各位网友们帮忙,看再有没有别的办法??
    **/说说这种方法有什么不妥?
      

  8.   

    <script type="text/javascript">
    function gTime(n){
       var d = new Date();
       var s = "" + d.getHours();
       s += d.getMinutes();
       s += d.getSeconds() + n;
       s += d.getMilliseconds();
       return s;
    }
    alert(1);
    var nt, ot = parseInt(gTime(10));
    do {
    nt = parseInt(gTime(0));
    }; while (nt < ot);
    alert(2);
    </script>
    怎么能不行呢??
    虽然这东西很不好。不过没有错误啊。。
      

  9.   

    muxrwc(王辰):我是象下面这样写的,可能是我写错了。
    你的代码我测了,好用,明天晚上送上分数,希望其他人还能有好的解决办法!!function fDelay()
    {
    alert("fDelay1");
    var d = new Date();
    var nt
    var currTime = d.getTime();
    var delayTime = currTime+2;
    alert(parseFloat(currTime)+" : "+parseFloat(delayTime));
    nt = d.getTime();
    while(parseFloat(nt) < parseFloat(delayTime)){
    nt = d.getTime();
    alert(parseFloat(nt)+" : "+parseFloat(delayTime)); }
    alert("fDelay2");
    }
    fDelay();
    alert("fAlert");
      

  10.   

    希望会有更好的解决办法
    muxrwc(王辰) 的方法会导致CPU使用率100%
      

  11.   

    我们伟大的zhaoxiaoyang(梅雪香@深圳) 都说没有啦
    还是用setTimeout吧。