You are here: irt.org | FAQ | JavaScript | Event | Q640 [ previous next ]
JavaScript does not stop to check for events whilst in a loop. You have to break the loop up, and replace it with timeouts:
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript"><!--
var running = true;
var timer;
function loop() {
while (running) timer = window.setTimeout('loop()',100) ; // loop every 100 milliseconds
}
function stop() {
alert('stopping');
window.clearTimeout(timer);
running = false;
}
//--></SCRIPT>
</HEAD>
<BODY>
<FORM>
<INPUT TYPE="BUTTON" VALUE="Stop" onClick="stop()">
</FORM>
<SCRIPT LANGUAGE="JavaScript"><!--
loop();
//--></SCRIPT>
</HTML>