暂停Javascript执行直到按下按钮

Som*_*ens 8 html javascript

我正在为我的Algorithms类(在Javascript中)创建一个Sudoku创建器的可视化.该算法运行良好,但我找不到暂停执行的方法.

目前,我正在prompt()暂停,但这是笨重和烦人的.有没有什么方法可以暂停,直到另一个函数运行(通过HTML按钮)而不是连续while循环?

我可以发布代码,但我认为不需要.我目前没有使用jQuery,但如果需要我可以.

gdo*_*ica 8

var flag = true;
function foo(){
    if (flag){
        // Do your magic here
        ...
        ...
        setTimeout(foo, 100);
    }
}

function stop(){
    flag = false;
}
<input type="button" onclick="stop();" value="stop it!!!" />
Run Code Online (Sandbox Code Playgroud)

现场演示

  • 我试图避免在后台启动'while()'循环.还有其他方法吗?(如果没有,这看起来不错) (2认同)
  • 你的意思是`setTimeout(foo)`,而不是`setTimeout(flag)`. (2认同)