在一个for循环里面,javascript不断向页面添加东西,我想让他每当添加50个的时候,就让他暂停5秒,然后再执行.用什么方法好一些

解决方案 »

  1.   

    用settimeut每5秒执行一次,每次执行完之后记录好当前执行到的位置,下次来执行的时候就从当前位置开始执行
      

  2.   


    window.onload = function () {
        test();
    }
    var counter=0;
    function test()
    {
        for (var i=0;i<5;i++)
        {
            var spn=document.createElement("span");
            spn.innerHTML=counter++;
            document.getElementById("odiv").appendChild(spn);
        }     
        setTimeout(test,3000);
    }
      

  3.   

    window.onload = function () {
        test();
    }
    var counter=0;
    function test()
    {
        //循环添加
        for (var i=0;i<5;i++)
        {
            var spn=document.createElement("span");
            spn.innerHTML=counter++;
            document.getElementById("odiv").appendChild(spn);
        } 
        //每个3秒重新调用test函数
        setTimeout(test,3000);
    }