Wpis z mikrobloga

@wrrior: innerHTML jest niezalecane do czegokolwiek poza czyszczeniem obiektu.
Lepiej zrobić:

.appendChild(Text('tekst')) // nowe przeglądarki; polyfill: window.Text = window.Text || function(str) {return document.createTextNode(str)};
lub

.appendChild(document.createTextNode('tekst'))
@Ginden:

function showresults ( )
{
var output = document.getElementById("output_div");
output.appendChild(document.createTextNode('pupcia'));
sleep (300);
output.appendChild(document.createTextNode('okejcia'));
}

function sleep(miliseconds)
{
var currentTime = new Date().getTime();
while (currentTime + miliseconds >= new Date().getTime()) {}
}
@wrrior: Eh.
JS jest uruchamiany w tym samym wątku co UI.
Aby aktualizacja UI się udała, kontrola musi być zwrócona do przeglądarki z Twojego kodu, co nie może się odbyć, kiedy robisz "sleep", który jest w rzeczywistości busy wait.

Zalecaną metodą jest:

function showresults ( )
{
var output = document.getElementById("output_div");
output.appendChild(document.createTextNode('pupcia'));
setTimeout(function() {
output.appendChild(document.createTextNode('okejcia'));
}, 300);
}
@Ginden: Dzięki. Trochę mnie to naprowadza na temat. A czy (jak) mogę to zrobić inaczej niż setTimeoutem?

Chodzi mi o coś takiego: "obliczanie...", "wynik: qwjdqwdi.".