Gå til innhold

trenger hjelp til og overvåke "popups"


Anbefalte innlegg

hei, jeg har ett script som opner og lukker "popups", men har problemer med og lukke disse.

 

Planen her og ha maks 10 popups på skjermen samtidig( fom 1 tom 10)

 

vær gang et popup blir lukket, f.eks nr 5, må listen omstruktureres, slik at nr 6 blir 5, 7 blir 6 etc, og ein variable wincount blir satt til antall vinduer + 1...

 

variablen som holder på alle winduene hetter win[]...

 

PS. Har slitt lenge med denne koden nå, takker for all hjelp;)

 

her er kodene:

createWindow() :

Klikk for å se/fjerne innholdet nedenfor
   
   function createWindow(type, title) {
       if (wincounter <= 10) {
           wnd = new_Window(title);
           win[wincounter] = wnd;
           getDesktop().appendChild(wnd['window']);
           wincounter++;
           
           switch (type) {
               case 'explorer':
                   
                   break;
           }
       } else {
           alert("Error: Maximum numbers of windows reach...");
       }
   }

closeWindow() :

Klikk for å se/fjerne innholdet nedenfor
   function closeWindow2(id) {
       temp = win[id];
       
       if (id == 10) {
           win[10] = null;
           wincounter = 10;
       } else if (id == 0) {
           /* No such window */
       } else if (id < 10) {
           
            var x = 0;
            for (x= id; x <= 10; x++) {
               if (win[x] == null) {
                   wincounter = x - 1;
                   alert("WC: "+wincounter);
                   break;
               } else {
                   item = win[x];
                   y = item['window'].childNodes[3].value
                   win[x] = win[x+1];
                   win[x]['window'].childNodes[3].value = x;
                   alert("Old Value: "+y+" New Value: "+ x);
               }
           }
            
       } else if (id > 10) {
          /* No such window */ 
       }
       getDesktop().removeChild(temp['window']);
       temp = null;
   }

 

btw, 'live' versjon av koden:

http://blackhawk.mine.nu/richard3

 

[EDIT] Popupene som 'virker' er about og explorer...

Endret av Richard87
Lenke til kommentar
Videoannonse
Annonse

takker for svar, men det var ikke problemet(win[] var deklarert i toppen av skripte(for og testa la eg det te i head på html siå, men det hjalp lide:( )

 

noen andre forslag?

 

[EDIT]

JS påstår at x+1 (hvor x = 9) = 91 (ikke 10 :( )

 

men det virker enda ikke:'(

Endret av Richard87
Lenke til kommentar

Herlighet så komplisert du gjør det da!

 

Legg til et vindu på slutten av arrayet, med yourArray.push(newElementHere) og fjern valgt element med yourArray.slice()

 

For å sjekke antall vindu som er lagt til i arrayet/hashen, kjører du yourArray.length (eller .push() som i tillegg returnerer ny lengde). Må da være langt enklere?

 

Dessuten;

x='10' // merk string her
alert(parseInt(x)+1) //11

Lenke til kommentar

vis eg bare hadde vist om de funksjonene tidligere:D

 

[EDIT]

Trenge litt te hjelp:(

 

nå har eg disse funksjonene:

   function closeWindow(id) {
       temp = win[parseInt(id)];
       
       alert(temp);
       
       win.splice(parseInt(id),1);
       if (! win.lenght == 0) {
           x = 0
           for (x = 0; x == win.lenght; x++) {
               item = win[x];
               item['window'].childNodes[3].value = x;
           }
       }
       getDesktop().removeChild(temp['window']);
   }
   
   function createWindow(type, title) {
       if (win.push() >= 10) {
           alert("Error: Maximum numbers of windows reach...");    
       } else {
           wnd = new_Window(title);
           id = parseInt(win.push(wnd));
           alert(id);
           
           wnd['info'].value = parseInt(id);
           
           switch (type) {
               default: break;
           }
           
           getDesktop().appendChild(wnd['window']);
       }
   }

 

Probleme e at i CloseWindow så virke ikkje temp = win[parseInt(id)]; any idea?

 

[EDIT2]

Ok, fant ut av det, problemet var i CreateWindow, id = win.push() returnerte lengden på arrayet, ikke id'en til winduet mitt:D...

 

[EDIT3] Der e endå någen bugs i CloseWindow.. :( any idea? (inni for next loopen)

Endret av Richard87
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...