Testa att ändra raden under "Kategorier" till:
Response.Write "<div class=""menutitle"" onclick=""SwitchMenu('sub"&X&"')"">" & RecSet("cCat1") &"</div>"
Och välkommen till webForum!
3 svar · 320 visningar · startad av zeeke
Hej
Här kommer min första fråga på webforum någonsin. Hoppas bara jag ställer den i rätt forum och på rätt sätt.
Nu till frågan. Jag håller på med att skapa en meny som ska kunna vara kopplad till en databas för man enkelt ska kunna lägga till och ta bort olika kategorier. Hämtade ett script från https://www.dynamicdrive.com som hade den funktionen jag ville ha (stänga en nivå när man klickar på en annan)
Scriptet fungera kanon om man inte lägger in min ASP kod. Gör man det så händer inget när man klickar på de olika kategorierna. Tycker det borde fungera. Man kanske inte kan använda en räknare som jag gör?
Här är hela min kod. Det är bara den delen i body jag ändrat.
<html>
<head>
<title>kwmeny</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
.menutitle{
cursor:pointer;
margin-bottom: 5px;
background-color:#ECECFF;
color:#000000;
width:140px;
padding:2px;
text-align:center;
font-weight:bold;
/*/*/border:1px solid #000000;/* */
}
.submenu{
margin-bottom: 0.5em;
}
</style>
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of [url]http://getElementById.com/[/url]
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit [url]http://www.dynamicdrive.com/[/url] for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
</head>
<body>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.MapPath ("db/recept.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
kategori = "SELECT * FROM tbl_kategori Order by cCat1 desc"
RecSet.Open kategori, Connect
IF RecSet.eof THEN
Response.Write "tomt"
else
X= empty '*********** X=räknare **************
X=1
'********************'Meny start********************
Response.Write"<div id='masterdiv'>"
Do Until RecSet.EOF
'*********************Kategorier****************
Response.Write "<div class='menutitle' onclick='SwitchMenu('sub"&X&"')'>" & RecSet("cCat1") &"</div>"
Response.Write("<BR>")
'**********************Varor******************
varor = "SELECT * FROM tbl_prod where cID = " & RecSet("cID")&""
set rs2 = Connect.execute(varor)
IF rs2.eof THEN
Response.Write ("tomt" & "<BR>")
else
Response.Write("<span class='submenu' id='sub"&X&"'>")
Do Until rs2.EOF
Response.Write("-" & rs2("receptnamn")& "<BR>")
rs2.MoveNext
Loop
response.Write("</span>")
end if
rs2.Close
set rs2 = nothing
'*****************Varor slut******************
X= X+1
RecSet.MoveNext
Loop
end if
RecSet.Close
set RecSet = nothing
'*****************Kategorier slut*******************
response.Write("</div>")'***************Meny slut***************
%>
</body>
</html>
Testa att ändra raden under "Kategorier" till:
Response.Write "<div class=""menutitle"" onclick=""SwitchMenu('sub"&X&"')"">" & RecSet("cCat1") &"</div>"
Och välkommen till webForum!
Funkade kanon så tack så mycket.
Har två frågor till
1:Hur vet man när man ska använda dubbla " och enkla ' ibland osv? Var kan man läsa om det?
2: Skulle gärna vilja ha möjligheten att kunna använda bilder som ändras när jag klickar på de olika kategorierna. Har ett gammalt script till en meny som jag provade att lägga till men det funkade inte alls. Kan bero på att jag inte vet vad jag höll på med
1. Vide har en alldeles utmärkt artikel om stränghantering på sin sida. Stränghantering @ webeye
2. <a href="#" onclick="changepicture(); return false;">Länk</a>? Fråga i JavaScript, DHTML-forumet.