Javascript 函数 setInterval() 只工作一次

Hye*_*nOh 5 javascript setinterval

伙计们!我想问一下 Javascript 函数 setInterval()。我的问题是 setInterval() 只工作一次,不重复。

这是我的 HTML 代码

<button id = 'btun' name = 'btun' onclick = 'changecolor();' class = 'btn btn-success btn-block'>Color Change</button>
Run Code Online (Sandbox Code Playgroud)

和 Javascript 代码

function below(t){
  var button = document.getElementById('btun');
  var quadrant = (t*t + 2*t + 1)+"px";
  console.log('ye');
  button.style.marginTop = quadrant;
  document.write(pix);
}
var doBelow = setInterval(below(t++),1);
if(t > 50){
  clearInterval(doBelow);
}
Run Code Online (Sandbox Code Playgroud)

我找不到什么问题。

Mri*_*jay 4

setInterval期望回调作为第一个参数,但您正在调用实际的函数。

调用应该如下所示

 setInterval(function() {
      below(t++); }
  ,1);
Run Code Online (Sandbox Code Playgroud)

因此,您在这里创建一个匿名回调,它将调用下面的函数。最好将退出条件放在函数t >= 50below