Javascript:setInterval在一段时间?

use*_*883 0 javascript loops increment while-loop setinterval

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

while(buttonPressed) {

 setInterval(function () {

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


  }, 1000);

}
Run Code Online (Sandbox Code Playgroud)

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

我检查了控制台,并且var按钮默认为false,在我按下按钮后变为true,所以它应该工作:/我需要你的帮助:D

谢谢你们回复:)

Que*_*tin 5

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

听起来你实际上想要一个在变量变化时被清除的间隔.即:像:

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