setTimeout("test2(i)",2000) 
这个方法不好用,我试过了,是可以间隔2秒调用一次,但是循环都走完了

解决方案 »

  1.   

    用定时器吧,不要用FOR了,加个全局计数器变量,到了10次关闭定时器
      

  2.   

    包一下啊 var count = 0;
    timerID = setInterval("packagefun()",2000);
    function packagefun()
    {
        if(count<10)
        {
            test2(i);
            i++;
        }
        else
        {clearInterval(timename);}
    }
      

  3.   

    无法直接循环实现。
    类似下面这样可以达到这样的效果。
    var i = 0;
    function test()
    {
      if( i >= 0 )
          return; 
      test2(i);
      setTimeout("test()", 2000);
    }
      

  4.   

    上面的i写错了,换成count,另外setInterval是设间隔,间隔到了就执行,setTimeout是倒计时,只执行一次
      

  5.   

    写错了。再发一下。
    var i = 0; 
    function test() { 
       i++;
       if( i >= 10 ) return; 
       test2(i); 
       setTimeout("test()", 2000); 
    }
      

  6.   

    已经过测试var count = 0; //计数器
    var maxCount = 10; //循环次数
    timerID = setInterval("packagefun()",2000); //添加定时器
    function packagefun()
    {
        if(count < maxCount)
        {
            test2(count);
            count++;
        }
        else
        {
            clearInterval(timerID);//清楚定时器
        }
    }function test2(i)
    {
        alert(i);
    }