Avatar billede daniel_d Nybegynder
02. januar 2003 - 13:26 Der er 5 kommentarer og
1 løsning

Menuscript. fold / unfold

Hej folkens

Jeg har et lille problem med et menuscript jeg har fundet på dhtmlcentral. Scriptet virker såmænd fint nok, men jeg vil så tilføje et link der hedder forside. Når man klikker på denne skal den gøre alle links "folded" hvis i forstår. Med andre ord skal menuen være "lukket sammen" når man trykker på forside.

Jeg har det fået til at virke, men IE fortæller pænt i venstre hjørne at der er kommet en fejl i scriptet.

Scriptet jeg bruger ser sådan ud:

/************************************************************************************
This is the function that changes the sub menus to folded or unfolded state.
************************************************************************************/
function menu(num){
    if(bw.bw){
        if (!stayFolded){
            for (var i=0; i<oSub.length; i++){
                if (i!=num){
                    oSub[i].hideIt()
                    if (foldImg)oTop[i].ref["imgA"+i].src = unImg.src
                }
            }
            for(var i=1; i<oTop.length; i++){
                oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].h)
            }
        }
        if (oSub[num].vis()){
            oSub[num].showIt()
            if (foldImg)oTop[num].ref["imgA"+num].src = exImg.src
        }else{
            oSub[num].hideIt()
            if(foldImg)oTop[num].ref["imgA"+num].src = unImg.src
        }
        for(var i=1; i<oTop.length; i++){
            if (!oSub[i-1].vis()) oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].h+oSub[i-1].h+mainOffsetY)
            else oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].h+mainOffsetY)
        }
    }
}

Og jeg kalder den med denne funktion her:

<div id="divTop0" class="clTop"><a href="#" onclick="menu(999); return false" onfocus="this.blur()"><img src="Pic/arrow.gif" name="imgA0" alt="" border="0">Forside</a><br><div id="divSub0" class="clSub"></div></div>

Jeg ved godt fejlen er at jeg kalder en submenu med id 999 som ikke findes. Og da scriptet er bygget så det lukker andre undermenuer når en ny åbnes.

Så med andre ord søger jeg bare en funktion der kan gøre alle undermenuerne "folded".

Håber på lidt hjælp derude fra

Med venlig hilsen
Daniel
Avatar billede sostack Nybegynder
02. januar 2003 - 16:40 #1
function fold_alle() {
for (var i=0; i<oSub.length; i++){
  oSub[i].hideIt()
}
}
Avatar billede daniel_d Nybegynder
03. januar 2003 - 02:08 #2
Det virker ikke som det skal... den fjerne så at sige den undermenu der er åben, men fjerne kun teksten og lukker den ikke "sammen" igen

:o(
Avatar billede sostack Nybegynder
03. januar 2003 - 10:17 #3
Prøv med:
function fold_alle() {
for (var i=0; i<oSub.length; i++){
  oSub[i].hideIt()
  if (foldImg){
    oTop[i].ref["imgA"+i].src = unImg.src
  }
}
}
Avatar billede daniel_d Nybegynder
08. januar 2003 - 13:23 #4
sorry jeg først svarer nu...
Dit script virker sådan set, men ...
Den lukker de andre submenuer, men vil nu ikke hente forsiden ind - hmm

mvh
Daniel
Avatar billede daniel_d Nybegynder
08. januar 2003 - 13:26 #5
sorry, min fejl - det virker stadig ikke bedre end sidst. Den folder ikke rigtig sammen
Avatar billede daniel_d Nybegynder
17. januar 2003 - 16:37 #6
hmmm...
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