window.setInterval(XX,1)当第二个参数的值很小时用 clearInterval(timerid);来清除,往往不能马上停止,用什么方法比较好解决?

解决方案 »

  1.   

    window.setInterval(XX,1)建立状态 
    在xx中比较反复的地方放置 状态检查 
    在 clearInterval 的同时 修改状态为 结束
      

  2.   

    var timeout = false;
    function time()
    {
    if(timeout) return;
    xx();
    setTimeout(time,1);
    }
    用 timeout = true 就能马上停止
      

  3.   

    正解。所以一般不用setInterval,用setTimeout的延时递归来代替interval。
    setInterval会产生回调堆积,特别是时间很短的时候。
      

  4.   


    为什么我结合Ajax来使用时,无法生效?