Javascript函数setInterval()只能运行一次 [英] Javascript Function setInterval() works only one time

查看:129
本文介绍了Javascript函数setInterval()只能运行一次的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

专家!
我想问一下Javascript函数setInterval()。
我的问题是setInterval()只能工作一次,而不是重复。

Guys! I wanna ask about Javascript function setInterval(). My problem is that setInterval() works only one time, not repeating.

这是我的HTML代码

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

和Javascript代码

and Javascript Code

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);
}

我找不到有什么问题。

推荐答案

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

setInterval expects a callback as first argument, but you are calling the actual function.

调用应如下所示

 setInterval(function() {
      below(t++); }
  ,1);

所以在这里你要创建一个匿名回调函数,它将在下面调用你的函数。最好将退出条件 t> = 50 放在下面功能

So here you are creating an anonymous callback which will call your function below. And better put the exit condition t >= 50 inside below function

这篇关于Javascript函数setInterval()只能运行一次的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆