twb: setInterval()

Beitrag lesen

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?