Hi,
Und weiters würde mich halt interessieren, ob und wie ich per JS feststellen kann, ob der Browser noch mit der Ausführung einer JS-Funktion "beschäftigt" ist?
So lange der Browser mit JS "beschaeftigt" ist, kannst du mit JS nichts "anderes" machen.
JavaScript kennt keine parallelen Ablauefe, sondern arbeitet rein sequentiell.
OK. So war auch mein bisheriger Kenntnisstand, weshalb ich ja jeweils zu Beginn und am Ende der jeweiligen JS-Funktionen den Funktionsaufruf zum Ein- und Ausblenden meines "Overlays" eingebaut hatte.
Man kann aber zeitaufwendigere Schleifen mittels setTimeout/setInterval "simulieren". Durch die dadurch eingebrachten kurzen "Unterbrechungen" kann man in der Zwischenzeit reagieren.
OK. Wobei ich das ja in dem Fall gar nicht möchte. Mein subjektiver Eindruck ist halt nur der, dass das Overlay schon wieder ausgeblendet wird, obwohl die Umsetzung der Änderungen durch die JS-Funktion im Browser noch im Gange ist. Was vermutlich daran liegt, dass ein einfaches ändern von display:block auf display:none für ein Element ohne großen Inhalt vom Browser schneller erledigt ist, als das neu rendern von "aufwändigeren" Elementen.
Also würde mir letztlich nur weiterhelfen, wenn ich feststellen könnte, wann der Browser mit seinem Rendering fertig ist. Geht das?
Noch eine Frage: Da ich einen relativ schnellen Rechner hier habe und auch eine flotte Internet-Anbindung per DSL, geht es bei mir insgesamt recht zügig. Kann ich eigentlich irgendwie eine "langsame" Internetverbindung simulieren?
Einen langsameren Rechner könnte ich ja vermutlich per der von dir erwähnten Funktionen setTimeout/setInterval simulieren.
Gruß Gunther