Javascript:setInterval在一段时间?

时间:2014-08-08 14:33:08

标签: javascript loops while-loop setinterval increment

你能告诉我我的代码有什么问题吗?

while(buttonPressed) {

 setInterval(function () {

    food = food + farms + (farmers/2);
    updateFood();


  }, 1000);

}

我的食物价值会根据几个因素(农场,农民)自动增加,更快或不增加。 它在没有循环的情况下运行良好,但由于某种原因,只有在我按下此按钮后才能执行此功能,这是我的问题。

我在控制台上检查过,默认情况下var buttonPressed为false,按下按钮后变为true,所以应该可以:/我需要你的帮助:D

谢谢你们回复:)

1 个答案:

答案 0 :(得分:5)

你有一个无限循环(尽可能快地)重复启动函数函数的区间。

听起来你实际上想要在变量发生变化时清除一个间隔。例如:

  var myInterval = setInterval(function () {
    if (!buttonPressed ) {
        clearInterval(myInterval);
        return;
    }
    food = food + farms + (farmers/2);
    updateFood();
  }, 1000);