mrjerk: Zufalls funktion wird nicht neu aufgerufen

Beitrag lesen

Hallo,

Komischerweise wartet das Script jetzt aber nur einmal, also es wird einmal eine zufällige Zeit gewartet dan werden die restlichen badone elemente alle einfach so hintereinander eingefügt (man erkennt aber das sie hintereinander kommen)

setTimeout blockiert beim Aufruf nicht! Deine Schleife ermittelt eine Zufallszahl, das setTimeout wird mit dieser Zahl aufgerufen...aber das Programm bleibt hier nicht stehen!

Das "setTimeout" wird abgesetzt, und dann geht es auch schon weiter mit x=x+1.
Das geht so durch, bis die 500 Durchläufe durch sind (was vermutlich relativ fix geht, also im Bereich von wenigen Milisekunden).
Dann passiert lange Zeit (also 10-15 Sekunden etwa ;) ) nichts mehr.

Irgendwann (nach 10-15 Sekunden) schlagen dann die ganzen setTimeout-Events ein. Diese haben zwar verschiedene Wartezeiten bekommen, Du hast sie aber dicht hintereinander (in der Schleife) abgesetzt, deswegen kommen die jetzt alle "Schlag auf Schlag".

-> Lösung:
Schreibe eine eigene Funktion, die ein Element einfügt, eine neue "Zufallszeit" bestimmt, und sich dann per window.setTimeout wieder selbst aufruft.

Hope that helps.

Viele Grüße,
Jörg