Avatar billede kimlarsen1978 Nybegynder
20. maj 2005 - 20:51 Der er 6 kommentarer og
1 løsning

Menu i flere niveauer

Hejsa
Nogle der har script og tabel til at styre en menu der kan gå ned i et ubegrænset antal undermenuer?

Jeg søger strukturen i tabbellen og koden til at vise selve menuen.

Det skal være således at den når siden åbnes vises kun alle "hovedpunkterne" og når man klikker på et "hovedpunkt" kommer der "underpunkter" frem og når man klikker på "underpunktet" kommer "under-underpunkterne" osv... 

Jeg vil gerne give 150 points for et dynamisk menusystem.

Fx:
- Hovedpunkt1
  - Underpunkt1.1
  - Underpunkt1.2
      - under-underpunkt1.2.1
        - under-under-underpunkt1.2.1.1
      - Under-underpunkt1.2.2
  - Underpunkt1.3
- Hovedpunkt2
- Hovedpunkt3
- Hovedpunkt4

Når man klikker på en menu skal man altså fortsat kunne se hele hirakiet.

Håber der er nogle der lige har det jeg skal bruge for så har jeg 150 points :-)
Avatar billede 5floor Nybegynder
20. maj 2005 - 20:54 #1
der kan være inspiration at hente her:
http://www.alistapart.com/articles/horizdropdowns/
God weekend.
Mads
Avatar billede kimlarsen1978 Nybegynder
20. maj 2005 - 21:00 #2
Tak for linket, men jeg synes ikke helt der ligner noget jeg kan bruge :-(
Avatar billede kimlarsen1978 Nybegynder
20. maj 2005 - 22:31 #3
Hmm. Tabel strukturen må være noget alle det her
************
kategoriId        kategoriTitle                  ParentId
1                  Hovedpunkt1                    0
2                  Hovedpunkt2                    0
3                  Hovedpunkt3                    0
4                  Underpunkt1.1                  1
5                  Underpunkt1.2                  1
6                  under-underpunkt1.2.1          5
7                  under-under-underpunkt1.2.1.1  6
8                  Under-underpunkt1.2.2          5
9                  Underpunkt1.3                  1
10                Hovedpunkt4                    0
***************

Så mangler jeg blot et script der kan håntere udskriften på en sådan måde som jeg har beskrevet...
Avatar billede kimlarsen1978 Nybegynder
20. maj 2005 - 22:32 #4
Hmm. Tabel strukturen må være noget alle det her
************
kategoriId        kategoriTitle                          ParentId
1                      Hovedpunkt1                                0
2                      Hovedpunkt2                                0
3                      Hovedpunkt3                                0
4                      Underpunkt1.1                              1
5                      Underpunkt1.2                              1
6                      under-underpunkt1.2.1                      5
7                      under-under-underpunkt1.2.1.1              6
8                      Under-underpunkt1.2.2                      5
9                      Underpunkt1.3                              1
10                    Hovedpunkt4                                0
***************

Så mangler jeg blot et script der kan håntere udskriften på en sådan måde som jeg har beskrevet...
Avatar billede kimlarsen1978 Nybegynder
21. maj 2005 - 14:15 #5
Hejsa
Så har jeg sgu fundet ud af det (næsten) Jeg har fået det til at virke med "uendeligt" antal niveauer, men der er fortsat et lille problem....

Niveau løsningen var rekursion, men hvordan dælen finder jeg ud af på hvilket niveau jeg er?

Min funtion ser sådan her ud:
******************
Function tjekForUnderpunkter(idTemp)
For j = UBound(arCatIDs) to 0 Step - 1
  if (arParentIDs(j) = idTemp AND not arParentIDs(j) = 0) then
  Response.Write "-"
  Response.Write "<a href=""default.asp?catid="&arCatIDs(j)& "&parentId="& arParentIDs(j) &"""><nobr>"&arCatTitles(j)& "</nobr></a>"
  Response.Write "<br>"
  idTemp2 = arCatIDs(j)
  Call tjekForUnderpunkter(idTemp2)
  end if
Next
End Function
***************************

Linien Response.Write "-" skal sætte en - hver gang jeg går ét niveau ind, men hvordan dælen får jeg det til at virke? Jeg ved godt at som den står nu sker der ingenting, men jeg aner ikke hvordan jeg løser det.

Det skal gerne komme til at se således ud, ex:
**************
Hovedpunkt1
-Underpunkt1.10
-Underpunkt1.11
--underpunkt1.20
---underpunkt1.30
---underpunkt1.31
---underpunkt1.32
--underpunkt1.21
-Underpunkt1.12
-Underpunkt1.13
-Underpunkt1.14
Hovedpunkt2
Hovedpunkt3
Hovedpunkt4
********************

Det skal nok lige siges at jeg kalder tjekForUnderpunkter efter udskreft af hvert hovedpunkt, derfor er der ikke - foran dem...
Avatar billede kimlarsen1978 Nybegynder
21. maj 2005 - 14:29 #6
Hvad der sker i funktionen er lidt lige meget, men jeg har altså via en anden funktion fyldt mine array's men de menupunkter der skal være synlige.

Det jeg har brugfor er at vide hvordan jeg finder frem til hvilket niveau jeg er på i ovenstående eksempel vil en "niveautæller" skulle give

1,1,2,3,3,3,2,1,1,1

hver plad repræsenterer et kald til funktionen, hvordan styre jeg det hvornår ved om jeg skal + 1 eller -1

Er spørgsmålet klart nok?
Avatar billede kimlarsen1978 Nybegynder
21. maj 2005 - 14:57 #7
Spørgsmålet har skiftet karakter - så jeg lukker og fortsætter her:
- http://www.eksperten.dk/spm/619481
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
Kurser inden for grundlæggende programmering

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