Frank Bergermann: Warten auf Mouseclick - LÖSUNG

Beitrag lesen

Lösungsvorschlag, getestet.
Hier zur Demo statt sort nur ein einfaches Aufwärtszählen.

Knackpunkt ist, daß der Browser bei rechenintensiven Aufgaben die Klick-Ereignisse nicht abfragt, sondern wartet, bis die Berechnung zu Ende ist. Daher ist zwischendurch immer ein Timer zu setzen, der dem Browser dafür Luft gibt!

<form>
 <input type=text name=ausgabe>
 <input type=button value="STOPP!" onclick="stopp=1">
</form>

<script><!--
var x=0,stopp=0
function sort(){
 x++
 top.status=document.forms[0].ausgabe.value=x
 if(stopp){
  top.status=document.forms[0].ausgabe.value="Fertig."
 }else
  setTimeout("sort()",1)
}
sort()
//--></script>