0

所以我认为从我遇到的这种情况中可以找到一些关键,并希望一些经验可以解释它。

当我运行此代码时,它不起作用:

t5 = "nikolas"+t4;

setInterval(adds,250);

function adds(){
    if (t4 < 100){
        t4=t4+1;
    }    
    else{
        return;
    }
};

这确实有效:

t5 = "nikolas"+t4;

adds(t4);

function adds(a){

    if (a < 100){
        a=a+1;
        setInterval(t4=a,250);
    }

    else{
        return;
    }
};

TL;DR:setInterval 似乎在 if 块内部起作用,但在外部不起作用。当它工作时,它显示 nikolas4 其中 t4 是一个整数,从 1-100“打勾”(例如,强文本nikolas0 nikolas1 nikolas2 nikolas3 nikolas4)

此外,这段代码(由于我正在编程的应用程序)应该每 250 毫秒刷新一次(但是在整个刷新部分中加一点盐,并不是完全 100% 确定这一点)。

4

1 回答 1

1

下面的代码功能齐全,看起来非常像您的非工作示例。

你可以在这里查看:http: //jsbin.com/ofezip/1/edit

所以我猜你的变量范围有问题。

window.onload = function()  {

   var myOutput = document.createElement("output"); 
   document.body.appendChild(myOutput);

   var t4 = 0;

   var helloInterval = setInterval(adds,250);

   function adds(){
          if (t4 < 10){
              t4++;
              myOutput.value = "hello " + t4;
          }    
          else {
              myOutput.value = "goodbye" ;
              clearInterval(helloInterval);      
              return;
        }
   }

};
于 2013-06-11T16:51:40.843 回答