25. marts 2004 - 16:17Der er
21 kommentarer og 1 løsning
tree menu
jeg har fundet en tree menu, men når man trykker på et under punkt og siden vises, så lukker menuen igen (pågrund af reload) hvordan for man den til at lade være med det
<SCRIPT> function MenuClick(MenuID) { var txt = document.all("txt_" + MenuID); if (txt.style.display == 'none') { txt.style.display = ''; } else { txt.style.display = 'none'; } } </SCRIPT>
</HEAD> <BODY BGCOLOR="#FFFFFF">
<% Function BygUnderMenu(MenuID) UnderSQL = "SELECT ID, Navn, Link FROM Menu WHERE MenuID = " & MenuID & " ORDER BY [Order]" Call OpenRS(Conntemp,UnderSQL,UnderRS)
Response.Write "<DIV ID=""txt_" & MenuID & """ STYLE=""display: none; margin-left: 10px;"">" While Not UnderRS.EOF If CountSubs(UnderRS("ID")) > 0 Then Response.Write "<A HREF=""#"" OnClick=""MenuClick(" & UnderRS("ID") & ")""><B>" & UnderRS("Navn") & "</B></A><BR>" BygUnderMenu UnderRS("ID") Else Response.Write "<A HREF=""" & UnderRS("Link") & """ TARGET="""">" & UnderRS("Navn") & "<BR>" End If UnderRS.MoveNext Wend Response.Write "</DIV>" End Function
Function CountSubs(MenuID) CountSQL = "SELECT ID FROM Menu WHERE MenuID = " & MenuID & "" Call OpenRS(Conntemp,CountSQL,CountRS) CountSubs = CountRS.RecordCount End Function
LavDatabase Conntemp
SQL = "SELECT ID, Navn, Link FROM Menu WHERE MenuID = 0 ORDER BY [Order]" Call OpenRS(Conntemp,SQL,RS)
If RS.BOF AND RS.EOF Then Response.Write "FEJL" Else RS.MoveFirst While Not RS.EOF If CountSubs(RS("ID")) > 0 Then Response.Write "<A HREF=""#"" OnClick=""MenuClick(" & RS("ID") & ")""><B>" & RS("Navn") & "</B></A><BR>" BygUnderMenu RS("ID") Else Response.Write "<A HREF=""" & RS("Link") & """>" & RS("Navn") & "<BR>" End If RS.MoveNext Wend End If
menuen er includeret i hoved filen, og når man trykke på et underpunkt, bliver hoved siden skiftet ud med den samme side, men hvor den har hentet noget fra en database. derfor m ville det være godt hvis menuen stadig var åben
ingenting ... det er en funktion der ikke gør noget, men resultatet er at, hvis man har den i en href, så bliver ikke linket "aktiveret". Den fungerer som en "cancel" funktion i dette tilfælde og forhindrer at det, der står i din href, bliver kaldt
men jeg for står ikke helt hvad du mener. her er filerne, jeg tror det kommer til at spare os for en masse tid, er nemlig ikke så god til asp endnu http://www.urbaneye.dk/lund/menu.zip
du vil meget gerne have at din menu er åben, når du klikker ind på et undermenu punkt. sådan det fungerer for mig nu, er at når jeg klikker på "Logo >> UnderMenu1", så ... ehh ... øv, det gik der noget galt. denne kode:
Dim strConcat : strConcat = "&" if( UnderRS("Link") = "" ) then strConcat = "?" end if
skal være
Dim strConcat : strConcat = "?" if( InStr( UnderRS("Link"), "?" ) > 0 ) then strConcat = "&" end if
anyway ... når denne kode er på plads, så forbliver punkt 'Logo' åben. Hvis jeg klikker ind under 'Website >> Highimage', så forbliver 'website' åben
BTW ... "synes ikke lige at det virker" er ikke særlig emget at blive klog på. hvis du ønsker at nogen skal hjælpe dig, så er du jo nødt til at fortælle *hvad* der går galt ;o]
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.