Hvis du vil have en klikeffekt (hvor knappen skifter style idet du klikker venstre museknap ned og tilbage til den gamle når du slipper), så ville jeg forsøge med denne version:
Bort set fra det, så er det ikke tilrådeligt at ændre class på et element, da det foranlediger en ny rendering. Du bør i stedet ændre de enkelte styles i stedet, det er væsentlig hurtigere.
Dvs. det første link er aktivt når menuen bliver loadet, og javascriptet skulle så gerne slå klasses fra og til når der klikkes på de forskellige links...
Problemet er nok at du genindlæser siden (og dermed genererer menuen på serveren) hver gang du klikker på et link, så det er ikke javascript du skal bruge til at sætte klassen, men PHP (det skal med andre ord ske på serveren og ikke på klienten). Så det er i realiteten i din PHP-funktion "initMenu" du skal løse opgaven.
Jeg er ikke PHP-programmør, men kan dog alligevel godt gennemskue at du har behov for at lave en betingelse omkring værdien i class-attributten. Det betyder også at du kan slippe for at have client-scriptet liggende (du skal selv lige lave betingelsen på PHP'sk):
<? function initMenu() { echo "<ul id='tabmenu'>"; echo "<li><a "; /* TODO: UNDERSØG OM DEN AKTUELLE SIDE ER AKTIV OG HVIS DEN ER SÅ INDSÆT STRENGEN MED class-ATRIBUTTEN... echo "class='active' "; */ echo "href='index.php'>Link 1</a></li>"; echo "<li><a "; /* TODO: UNDERSØG OM DEN AKTUELLE SIDE ER AKTIV OG HVIS DEN ER SÅ INDSÆT STRENGEN MED class-ATRIBUTTEN... echo "class='active' "; */ echo "href='page1.php'>Link 2</a></li>"; echo "<li><a "; /* TODO: UNDERSØG OM DEN AKTUELLE SIDE ER AKTIV OG HVIS DEN ER SÅ INDSÆT STRENGEN MED class-ATRIBUTTEN... echo "class='active' "; */ echo "href='page2.php'>Link 3</a></li>"; echo "</ul>"; } ?>
Desuden må du heller ikke have flere elementer i en side med samme id, og id'et er i øvrigt heller ikke nødvendigt længere (ligesom onclick-eventet heller ikke er det), så det har jeg tilladt mig at fjerne :)
Hmm, det kan jeg da egentlig godt se, nu du siger det :D En mine php-venner har lige sagt det samme :P Tror jeg har en idé om hvordan det skal se ud nu...
Tak for tippet mht at udelukke id'et og onclick-eventet, jeg er noob i java-scrip så det anede jeg ikke :P
Læg mærke til, hvad softspot prøvede at forklare dig i (15/05-2006 12:56:05): Det er en dårligt performende løsning at skifte CSS-klasser på HTML-elementer ... det gør man så at sige aldrig ... og af gode grunde ;o)
/mvh </bole>
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.