Scriptsprache zu langsam?
Michael Schwarz
- dhtml
Hallo,
ich habe folgendes Script:
<html><body>
<span id="test">??????</span>
<script language=vbscript>counter=0</script>
<script for=document event="onkeydown()" language="vbscript">
if window.event.keyCode=40 then
for i=1 to 100000
next
counter=counter +1
test.innerHtml="<b>" & counter & "</b>"
window.status=counter
end if
</script>
</body></html>
Wenn ich jetzt die Pfeiltaste drücke (Pfeil nach unten), dann startet ein kleines Script, welches eine Schleife enthält, die eigentlich nichts anderes macht, als ein wenig CPU fressen. Diese Schleife ist ein Ersatz z.Bsp. für ein Objekt, eine längere Prozedur (XML laden, etc.). Wenn ich mir jetzt das SPAN Element "test" anschau, und gleichzeit die Taste gedrückt halte, passiert nichts. Die Statuszeile aber ändert schön nach und nach seinen Inhalt.
Warum wird das SPAN Element nicht aktualisiert? Wie kann ich es erreichen, mit dem nächsten Aufruf zu warten, bis das SPAN Element wirklich den aktuellen Status (Counter) anzeigt?
CIAO
Michael
Hallo,
der IE bringt Änderungen erst dann zur Anzeige wenn das Javascript aufhört zu arbeiten. Das wirst du daran merken, das wenn die Schleife abgearbeitet ist, der letzte Wert in dem Span-Tag erscheint. Bau einfach ein Timeout mit 1ms Verzögrung ein und schon funzt es.
viele Grüße
Thomas