OK, ajde ovako, ne znam kako ti izgleda kod, ali..
Imaš tvoj div:
Code:
<div id="loadingBar" style="display: none">loading...</div>
Korisnik klikne na neki link(buttom) i pritom poziva određenu js funkciju u toj funkciji ti kreiraš XMLHttpRequest objekat. Pre nego što se objekat kreira (može i posle) ti promeniš display osobinu div-a loading bar:
Code:
function blaBla() {
document.getElementByid('loadingBar').style.display = 'block';
var req = new XMLHttpRequest(); // + za IE
...
}
Da bi se znalo da li je izvršen zahtev koisti se readyState, kada se objekat kreira njegova vrednost je 0, kada se pozove "open" on je 1, a kada se izvrši zahtev on je 4, dakle potrebno je da posmatraš kada je on ima vrednost 4.
Code:
...
if (req.readyState == 4) {
// prikaži sadržaj
// ukloni loadingBar
}
...
A pomoću onreadystatechange možeš kreirati povratnu funkciju, odnosno funkciju koja će biti pozvana kada se zahtev izvrši:
Code:
...
req.onreadystatechange = showContent;
...
function showContent() {
// prikaži sadržaj
// ukloni loadingBar
}
Gore sam zaboravio, možeš proveravati i status servera.
Code:
req.status
Ukoliko sve uspešno, vratiće 200, ukoliko stranica, koju si pozvao, ne postoji vratiće 404...
Pogledaj npr. primer koji sam postavio u ovoj temi:
http://www.elitesecurity.org/tema/154633
Citat:
ako sakrijem DIV na kraju JS sekcije (poslednja linija tog bloka u skriptu)
Uglavnom sam ovo koristio što sam i gore objasnio.
Citat:
da li to garantuje i da je browser u tom trenutku završio sa iscrtavanjem stranice, tj. da su svi elemenit prikazani kako valja i na svom mestu?
Hmm... pošto ti je to bitno, ti možeš ispitivati pomoću js da li postoje ti elementi i da li sadrže podatke dobijene pomoću XMLHttpRequest-a