Pausing Javascript execution until button press

html, javascript

Solution

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!!!" />

Live DEMO

Problem

I'm creating a visualization of a Sudoku creator for my Algorithms class (in Javascript). The algorithm works great, but I'm having trouble finding a way to pause execution. Currently, I'm using `prompt()` to pause, but that's bulky and annoying. Is there any way to pause until another function is run (via HTML button) other than a continuous `while` loop? I can post code, but I don't think it's needed. I'm not currently using jQuery, but I can if needed.

Original source