Avatar billede fjammi Nybegynder
26. september 2007 - 09:47 Der er 3 kommentarer og
1 løsning

while går for hurtigt til at finde getElementById

Hej

Jeg har en javascript function som skal skal køre indtil en ajax-function giver en div tilbage.

function bringFront(iAbonnementID){
  var test = true;
  while (test){
  if(document.getElementById("abonnement"+iAbonnementID)){
    layerObj = document.getElementById("abonnement"+iAbonnementID);
    layerObj = layerObj.style;
    layerObj.zIndex = zIndex; zIndex++;
    test = false;
  }
  }
}

Den kommer aldrig ind i if'en selv om div'en kommer frem.
Hvis jeg sætter en alert("test") ind i functionen, så kan den lige pludselig godt komme ind i if'en.

Er der en der kan give mig en forklaring på det? og hvordan jeg kan løse det, så det virker uden en alert.

På forhånd tak
Avatar billede softspot Forsker
26. september 2007 - 09:53 #1
Det er vel fordi din while-løkke spærrer for at AJAX-funktionen kan komme til at arbejde...

Kan din AJAX-funktion ikke kalde en funktion som indeholder den kode der bringer elementet i front i stedet for at "polle" din DOM for ændringer. Så går lidt af idéen med AJAX jo til spilde, hvis du alligevel låser browseren for at vente på at AJAX vender tilbage... :)
Avatar billede fjammi Nybegynder
26. september 2007 - 11:04 #2
ja ok selvfølgelig...
tak for hjælpen og lig et svar.
Avatar billede softspot Forsker
26. september 2007 - 11:08 #3
Velbekomme :)
Avatar billede softspot Forsker
26. september 2007 - 11:45 #4
Tak for point :)
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