Schau dir mal das Beispiel zu setInterval auf selfhtml an
Hatte ich bereits, aber ich war über den prinzipiellen Unterschied gestolpert - das SelfHTML-Beispiel stoppt nach i>=100 (Zähler), ich suchte nach einer Abbruchmöglichkeit durch den User. Aber Du hattest natürlich recht - ich hab' mein Game of Life erfolgreich so angepasst (Start übergibt step(1); Stop dagegen calc(0)):
function step(a)
{
if (a==1) halt=window.setInterval('calc()',speed[0]);
}
function calc(a)
{
if (a==0)
{
window.clearInterval(halt);
}
[...]
}
Mein Problem nun: Nur wenn ich die Schrittzeit auf eine halbe oder ganze Sekunde erhöhe (Klicks auf Speed), hat ein Klick auf Stop eine Wirkung. Bei Schrittzeiten <500ms läuft das Skript munter weiter und lässt sich nur noch per F5 unterbrechen. Ist das zu ändern?