21. september 2005 - 16:17Der er
1 kommentar og 1 løsning
Træ Menu
Hej alle,
Jeg søger, som mange andre, et script til en menu. Den skal virke på den måde, at klikker man på et menupunkt, så kommer menupunkterne som ligger under dette menupunkt, til syne.
Jeg har set mange javascript menuer der kan dette, men det er ikke dem jeg søger. Mine sider hedder f.eks default.asp?id=502
Går man ind på f.eks. default.asp?id=556, så skal denne menu selvfølgelig folde sig ud, så menupunktet kommer til syne, og gerne makeret med fed.
Håber det er til at forstå, jeg vil gerne give mange point til den der kan løse problemmet for mig.
Jeg fandt selv ud af det. Her er koden. Den kan godt nok kun vise 5 niveauer, men den er nem at udbygge.
Kode------------->
<%
Set RS1 = Server.CreateObject("ADODB.Recordset") SQL1 = "SELECT * FROM sider WHERE id="&sideID&"" RS1.Open SQL1, Conn, 1, 3 Do While Not RS1.EoF aa_1=RS1("parentid") RS1.MoveNext Loop response.Write(aa_1)
if aa_1="" then aa_1=0 end if Set RS2 = Server.CreateObject("ADODB.Recordset") SQL2 = "SELECT * FROM sider WHERE id="&aa_1&"" RS2.Open SQL2, Conn, 1, 3 Do While Not RS2.EoF aa_2=RS2("parentid") RS2.MoveNext Loop response.Write(aa_2)
if aa_2="" then aa_2=0 end if Set RS3 = Server.CreateObject("ADODB.Recordset") SQL3 = "SELECT * FROM sider WHERE id="&aa_2&"" RS3.Open SQL3, Conn, 1, 3 Do While Not RS3.EoF aa_3=RS3("parentid") RS3.MoveNext Loop response.Write(aa_3)
if aa_3="" then aa_3=0 end if Set RS4 = Server.CreateObject("ADODB.Recordset") SQL4 = "SELECT * FROM sider WHERE id="&aa_3&"" RS4.Open SQL4, Conn, 1, 3 Do While Not RS4.EoF aa_4=RS4("parentid") RS4.MoveNext Loop response.Write(aa_4)
%>
<table width="100%"> <% 'Niveau 1 Start menu1 = "Select * FROM sider WHERE parentid=0 order by rakkefolge ASC" Set menu1 = Conn.Execute(menu1) Do While Not menu1.EoF
if int(request("id"))=menu1("id") then %> <tr><td style="border-bottom:1px solid #FFFFFF; height:22px; vertical-align:middle; padding-bottom:2px;"><img src="public/grafik/blue_bullet_dark.gif"><a href="default.asp?id=<%=menu1("id")%>" style="color:#1E4161; font-weight:bold;"><%=menu1("navn")%></a></td> </tr> <% else %> <tr><td style="border-bottom:1px solid #FFFFFF; height:22px; vertical-align:middle; padding-bottom:2px;"><img src="public/grafik/blue_bullet_dark.gif"><a href="default.asp?id=<%=menu1("id")%>" style="color:#1E4161;"><%=menu1("navn")%></a></td> </tr> <% end if
'Niveau 1 SLUT
'Niveau 2 Start
if menu1("id")=int(request("id")) OR aa_1=menu1("id") OR aa_2=menu1("id") OR aa_3=menu1("id") OR aa_4=menu1("id") then menu2 = "Select * FROM sider WHERE parentid="&menu1("id")&" order by rakkefolge ASC" Set menu2 = Conn.Execute(menu2) Do While Not menu2.EoF if int(request("id"))=menu2("id") then %> <tr> <td style="height:18px; vertical-align:middle; padding-bottom:2px; padding-left:16px;"><a href="default.asp?id=<%=menu2("id")%>" style="color:#1E4161; font-weight:bold;"><%=menu2("navn")%></a></td> </tr> <% else %> <tr> <td style="height:18px; vertical-align:middle; padding-bottom:2px; padding-left:16px;"><a href="default.asp?id=<%=menu2("id")%>" style="color:#1E4161;"><%=menu2("navn")%></a></td> </tr> <% end if 'Niveau 2 SLUT
'Niveau 3 Start
if menu2("id")=int(request("id")) OR aa_1=menu2("id") OR aa_2=menu2("id") OR aa_3=menu2("id") OR aa_4=menu2("id") OR aa_5=menu1("id") then menu3 = "Select * FROM sider WHERE parentid="&menu2("id")&" order by rakkefolge ASC" Set menu3 = Conn.Execute(menu3) Do While Not menu3.EoF if int(request("id"))=menu3("id") then %> <tr> <td style="height:18px; vertical-align:middle; padding-bottom:2px; padding-left:16px;"> <a href="default.asp?id=<%=menu3("id")%>" style="color:#1E4161; font-weight:bold;"><%=menu3("navn")%></a></td> </tr> <% else %> <tr> <td style="height:18px; vertical-align:middle; padding-bottom:2px; padding-left:16px;"> <a href="default.asp?id=<%=menu3("id")%>" style="color:#1E4161;"><%=menu3("navn")%></a></td> </tr> <% end if %> <% 'Niveau 3 SLUT
'Niveau 4 Start
if menu3("id")=int(request("id")) OR aa_1=menu3("id") OR aa_2=menu3("id") OR aa_3=menu3("id") OR aa_4=menu3("id") OR aa_5=menu1("id") then menu4 = "Select * FROM sider WHERE parentid="&menu3("id")&" order by rakkefolge ASC" Set menu4 = Conn.Execute(menu4) Do While Not menu4.EoF if int(request("id"))=menu4("id") then %> <tr> <td style="height:18px; vertical-align:middle; padding-bottom:2px; padding-left:16px;"> <a href="default.asp?id=<%=menu4("id")%>" style="color:#1E4161; font-weight:bold;"><%=menu4("navn")%></a></td> </tr> <% else %> <tr> <td style="height:18px; vertical-align:middle; padding-bottom:2px; padding-left:16px;"> <a href="default.asp?id=<%=menu4("id")%>" style="color:#1E4161;"><%=menu4("navn")%></a></td> </tr> <% end if %> <% 'Niveau 4 SLUT
'Niveau 5 Start
if menu4("id")=int(request("id")) OR aa_1=menu4("id") OR aa_2=menu4("id") OR aa_3=menu4("id") OR aa_4=menu4("id") OR aa_5=menu1("id") then menu5 = "Select * FROM sider WHERE parentid="&menu4("id")&" order by rakkefolge ASC" Set menu5 = Conn.Execute(menu5) Do While Not menu5.EoF if int(request("id"))=menu5("id") then %> <tr> <td style="height:18px; vertical-align:middle; padding-bottom:2px; padding-left:16px;"> <a href="default.asp?id=<%=menu5("id")%>" style="color:#1E4161; font-weight:bold;"><%=menu5("navn")%></a></td> </tr> <% else %> <tr> <td style="height:18px; vertical-align:middle; padding-bottom:2px; padding-left:16px;"> <a href="default.asp?id=<%=menu5("id")%>" style="color:#1E4161;"><%=menu5("navn")%></a></td> </tr> <% end if %>
<% menu5.MoveNext Loop end if %>
<% menu4.MoveNext Loop end if %>
<% menu3.MoveNext Loop end if %>
<% menu2.MoveNext Loop end if %>
<% menu1.MoveNext Loop %> </table>
Synes godt om
Ny brugerNybegynder
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.