Avatar billede kristoffertrolle Nybegynder
13. juni 2010 - 01:58 Der er 8 kommentarer

Visning af div under funktions kald

Hej jeg har et spørgsmål som nok er et ret generelt javascript spørgsmål. Jeg har en javascript funktion som bliver udført når brugeren trykker på en knap, funktionen kalder en masse webservices, så jeg vil gerne vise en loading-div mens funktionen bliver udført. Men hvis jeg prøver at sætte loading-div'en til synlig i starten af funktions-kaldet, så sker det først når funktionen er udført. Jeg gætter mig til at det er noget generelt javascript, at html elementerne først renderes når en javascript funktion er afsluttet. Hvad gør jeg? :)
Avatar billede csvendsen Nybegynder
13. juni 2010 - 05:18 #1
Prøv at flytte 'loading div' til en separat funktion og så kalde den i starten af eksisterende funktion med:

setTimeout('loadingDiv()',1);

Mener det så virker, men har ikke testet det....
Avatar billede kristoffertrolle Nybegynder
13. juni 2010 - 11:37 #2
jeg skulle måske havde sagt at jeg allerede har prøvet setTimeout, men det virker ikke (eller det virker først når funktionen er afsluttet).

Lige nu har jeg fixet problemet ved at kalde loadingDiv() med onmousedown eventet når brugeren trykker på linket, og så kalder den egentlige funktion med onclick eventet. Det virker fint i FF og Chrome, men virker ikke i IE
Avatar billede Slettet bruger
13. juni 2010 - 12:28 #3
Ja, det problem rammer man indimellem - irriterende der ikke findes en "refresh" funktion...

Har du prøvet setTmeout omvendt - altså vise loadingDiv med det samme, og kalde selve service-funktionen "forsinket" et kvart sekund ?
Avatar billede Slettet bruger
13. juni 2010 - 12:31 #4
Mærkeligt: Jeg har modtaget 5-6 mail-notifikationer om dette ene spørgsmål ?
("Der er oprettet et nyt spørgsmål...")
Avatar billede majbom Novice
13. juni 2010 - 13:16 #5
-> #4 - det har jeg osse...
Avatar billede kristoffertrolle Nybegynder
14. juni 2010 - 01:16 #6
Tak for hjælpen, jeg fik det til at virke. Som T4NK3R foreslog, så fik jeg det til at virke ved at først at køre loadingDiv() og derefter afvikle selve webservice funktionen forsinket
Avatar billede majbom Novice
04. november 2010 - 14:09 #7
skal vi så ikke satse på at T4NK3R smider et svar en af dagene? ;)
Avatar billede Slettet bruger
06. november 2010 - 22:25 #8
Kommer løbende her:
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester