Wie kann ich Javascript anweisen, das DOM sofort zu aktualisieren?
Ich versuche, dem Benutzer eine "Lade" -Nachricht zu senden, bevor eine zeitintensive Funktion in Javascript aufgerufen wird.
HTML:
<p id='foo'>Foo</p>
Javascript:
var foo = document.getElementById('foo');
function tellViewerLoading() {
// Tell the user that loading is occuring.
foo.innerHTML = 'loading...';
}
function someActionThatTakesALongTime() {
// Do some action that takes a long time.
var i = 0;
while(i < 100000) {i++; console.log(i);};
}
function domUpdateDelayExperiment() {
tellViewerLoading();
someActionThatTakesALongTime();
}
domUpdateDelayExperiment();
JSFiddle:http://jsfiddle.net/johnhoffman/xDRVF/
Ich möchte, dass das DOM unmittelbar danach aktualisiert wirdtellViewerLoading()
wird genannt.
Stattdessen scheint das DOM nachher aktualisiert zu werdensomeActionThatTakesALongTime()
beendet das Laufen. Zu diesem Zeitpunkt ist es nicht sinnvoll, eine Lademeldung anzuzeigen.
Wie kann ich Javascript anweisen, das DOM sofort nach der Aktualisierung zu aktualisieren?tellViewerLoading()
wird genannt?