29. juli 2005 - 23:21
Der er
12 kommentarer
"Active" funktion i menu
Jeg har følgene menu : <head> <style type="text/css"> /* CSS Tabs */ .container { width: 768px; padding: 0px; margin: 3px 0 0px 0; border: 0px solid #ccc; background: #fff; } /* form */ .texta { font-size: 10px; font-weight: bold; background-color: #CCCCCC; border: 0px; height: 14px; margin: 0; float: right; } /* rounded */ #nav { margin: 0; padding: 0 0 20px 0px; border-bottom: 2px solid #9FB1BC; } #nav li { margin: 0; padding: 0; display: inline; list-style-type: none; } #nav a:link, #nav a:visited { float: left; font-size: 10px; line-height: 14px; font-weight: bold; padding: 0 12px 6px 12px; text-decoration: none; color: #708491; } #nav a:link.active, #nav a:visited.active, #nav a:hover { color: #000; background: url(../images/rounded.gif) no-repeat bottom center; } --> </style> </head> Body : <div class="container"> <ul id="nav"> <!-- CSS Tabs --> <li><a href="../index.php">Forside</a></li> <li><a href="../shop/products.php">Produkter</a></li> <li><a href="../betingelser.php">Handelsbetingelser</a></li> <li><a href="../support.php">Support</a></li> <li><a href="../faq.php">FAQ</a></li> <li><a href="forum.php">Forum</a></li> <li><a href="about.html">Om os</a></li> </ul> </div> Nu har jeg siddet og vredet min hjerne i et par timer med, hvordan man integrerer <class="active"> sådan så den side man er på er markeret i menuen? Nogen der kan hjælpe?
Annonceindlæg fra Academic Work Denmark A/S
Den eneste rimeligt geniale løsning, jeg nogensinde er stødt ind i, indbefatter, at man onload gennemløber alle links, og hvis eet af dem svarer præcis til det, siden faktisk henviser til, så giver man det de properties, så man kan se, det er aktivt...
Danner du din menu dynamisk for hver side
Som det er ligenu, er den bare inkluderet i "top.php"
Så nej, den er vel ik dynamisk...
måske kunne du nøjes med at style :active Eks: #nav a:active { color: red; }
Du komme nok ikke unden om at der skal kodes lidt for regner med du har andre links på siden udover menuen, og så kan :active ikke bruges....
01. august 2005 - 02:54
#7
Jeg har prøvet med følgende: if ($_SERVER['QUERY_STRING'] == '%showproduct%') { ?> <div class="container"> <ul id="nav"> <!-- CSS Tabs --> <li><a href="../index.php">Forside</a></li> <li><a href="../shop/products.php">Produkter</a></li> <li><a href="../betingelser.php">Handelsbetingelser</a></li> <li><a href="../support.php">Support</a></li> <li><a href="../faq.php">FAQ</a></li> <li><a href="forum.php">Forum</a></li> <li><a href="about.html">Om os</a></li> </ul> </div> <? } elseif ($_SERVER['QUERY_STRING'] == '%betingelser%') { ?> men det virker ikke?
01. august 2005 - 02:58
#8
hvor linksene til henholdsvis showproduct og betingelser selvfølgelig har class="active", men den loader slet ik menuen når jeg prøver at gøre det på den måde...
01. august 2005 - 07:08
#9
Hvorfor din menu ikke loader kan jeg ikke lige se, men meningen er vel at du skal sætte en active klassen på den funktion som er aktiv, ik. Således at det menu punkt, som der er aktivt får en markering. Eks: <li><a href="../shop/products.php">Produkter</a></li> <li><a class="active" href="../betingelser.php">Handelsbetingelser</a></li> <li><a href="../support.php">Support</a></li>
01. august 2005 - 12:11
#10
Ja det er også sådan jeg gør. Men når jeg bruger == viser den ik menuen :-/
01. august 2005 - 12:21
#11
Men så må du undersøge hvorfor din if betingelse ikke er opfyldt
01. august 2005 - 13:51
#12
Hvad er din querystring så ?-)
Vi tilbyder markedets bedste kurser inden for webudvikling