Avatar billede dennism Nybegynder
18. november 2004 - 20:13 Der er 7 kommentarer og
1 løsning

JavaScript: Vent venligst.

Jeg har følgende lille program:

<script language="JavaScript">
function test() {
array_test=new Array()

div_print.style.display="block"
document.getElementById('div_print').innerHTML =("Vent venligst..");

for (n=1; n<=300000 ; n++) {
    array_test[n]=n
}

div_print.style.display="none"
}
</script>

<input type="submit" value="Test" onclick="test()">

<div style="display: none;" id="div_print">
</div>

Min mening med dette program er, at når jeg trykker på test så skal min for-løkke køres igennem, og i mens skal der stå "vent venligst" på skærmen. Men teksten når ikke at blive printet inden at browseren begynder at køre for-løkken. Hvad kan jeg gøre, for at lave det jeg ønsker?
Avatar billede dennism Nybegynder
18. november 2004 - 21:00 #1
Er det et problem, som ingen kan løse?
Avatar billede olebole Juniormester
18. november 2004 - 21:15 #2
<ole>

Pseudokode:

function doDaShit() {
  // Kør noget riiigtig kedeligt og langsomt  :)
}

function myStart() {
  // Vis tekst her
  setTimeout("doDaShit()",20);
}

myStart();

/mvh
</bole>
Avatar billede olebole Juniormester
18. november 2004 - 21:16 #3
Fidusen er at vente 20 millisekunder fra du viser teksten, til du kører funktionen. Så når browseren at opdatere  ;o)
Avatar billede dennism Nybegynder
18. november 2004 - 21:27 #4
Oki..

Jeg har:
function load(n) {
  document.getElementById('div_print').innerHTML =("<div style=\"text-align:center\">Vent venligst..<br><img src=\"loading.gif\" width=\"185\" height=\"15\" align=\"bottom\" alt=\"\"></div>");
  setTimeout("generate(n)",20);
}

Men den siger at n ikke er defineret. Det er min mening at den skal kalde funktionen generate(n) (n=1 i dette tilfælde, og sætter jeg en alart ind i toppen får jeg også printet 1)
Avatar billede dennism Nybegynder
18. november 2004 - 21:36 #5
Hvis jeg ændrer til;
  setTimeout("generate(n)",20);

så virker alt perfekt. Men vil gerne have at den læser værdien fra funktionen..
Avatar billede olebole Juniormester
18. november 2004 - 22:12 #6
Prøv:
  setTimeout("generate("+n+")",20);
Avatar billede dennism Nybegynder
20. november 2004 - 14:25 #7
Smider du lige et svar, olebole?
Avatar billede olebole Juniormester
20. november 2004 - 16:25 #8
*griiiib*  ;o)
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

IT-JOB