Hej, jag håller på med ett blogg-system och har fastnat i class="active" på mina menyer samt undermenyer. Javascript/CSS/HTML funkar som det ska, men jag måste kunna skriva ut class="active" beroende på vilken sida jag är inne på och inte manuellt.
Jag använder mig utav en drop-down meny, så jag behöver class="active" på <li>-taggen också, vilket har skapat mig stora problem som jag inte vet hur ja ska gå till väga. (Jag har funderat på PHP-lösningar, men vill hålla min html-kod (template) så ren som möjligt.)
Här är den koden jag använder mig utav;
admin_head.tpl
...
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.js"></script>
<script>
$(document).ready(function () {
InitMenuEffects ();
});
function InitMenuEffects () {
/* Sliding submenus */
$('.sidebar .menu ul ul').hide();
$('.sidebar .menu ul li.active ul').show();
$('.sidebar .menu ul li').click(function () {
submenu = $(this).find('ul');
if (submenu.is(':visible'))
submenu.slideUp(150);
else
submenu.slideDown(200);
return false;
});
}
</script>
</head>
....
hur ser den genererade HTML koden ut? för det är inget fel på din html kod.
det du saknar kan jag tänka mig att du vill plocka bort active på:
$('.sidebar .menu ul li').click(function () {
Antingen sparar du undan $('.sidebar .menu ul li'), som en variabel innan click-eventet och removeClass("active") på kollektionen och sedan ta $(this).addClass("active").
vad jag kan se ( http://jsbin.com/alira3/ ) så gör den ju redan det du vill att den skall göra. eller du vill att {username} också skall bli vit markerad(vit markerad bara om den är expanderad?
på bild 2, när den är "inne" skall den plocka bort "active" klassen? förlåt, men jag måste vara trög, för jag kopplar inte bilderna mot vad din kod inte gör.
Det löste inte mitt problem, det var lite fel. Jag vill att Javascript fattar att när jag går till ex; "minblogg.se/admin/profile.php". Så ska den list-item (<li><a href="profile.php"></a></li>) som innehåller länk till "profile.php" sättas class="active" på <li>-taggen, samt sätta class="active" på <li>-taggen på övermenyn.
Men nu fick jag ett nytt problem...
När jag trycker på länkarna refereras jag inte. Ex; om jag klickar på "Manage Profile", som länkar till profile.php så händer det inget. Hm.