Hi Gemeinde,
ich habe folgendes Problem, und zwar versuche ich bei meiner Navi (Ober- und Unternavigation. Nun Möchte ich beim Klicken auf die Obernavigation etwas ausführen lassen. es handelt sich um ein <li>. Das Problem ist, dass die Unternavi auch aus <li> besteht.
Ich will dass NUR beim Klicken auf das <li> der Obernavigation eine Aktion ausgeführt wird und nicht beim Unterelement.
Hier mein HTML:
mein JS:
Ich habe es über den Ansatz versucht zu Prüfen ob eine Unternavigation vorhanden ist. Problem: Beim klicken auf ein Unterelement wird die Funktion 2x aufgerufen. Einmal für die Unternavigation und einmal für die Obernavigation.
Hoffe das ist soweit verständlich.
ich habe folgendes Problem, und zwar versuche ich bei meiner Navi (Ober- und Unternavigation. Nun Möchte ich beim Klicken auf die Obernavigation etwas ausführen lassen. es handelt sich um ein <li>. Das Problem ist, dass die Unternavi auch aus <li> besteht.
Ich will dass NUR beim Klicken auf das <li> der Obernavigation eine Aktion ausgeführt wird und nicht beim Unterelement.
Hier mein HTML:
HTML-Code:
<ul id="navbar"> <li><a href="#"><span class="icon_text users"></span>Adressbuch</a> <ul style="position: absolute; top: 95px; left: 21px; display:none"> <li><a class="subbutton"><span class="icon_text"></span>kunden</a></li> <li><a class="subbutton"><span class="icon_text"></span>mitarbeiter</a></li> </ul> </li> <li><a href="#"><span class="icon_text"></span>Produkte</a></li> <li><a href="#"><span class="icon_text"></span>Widgets</a> <ul style="position: absolute; top: 95px; left: 21px; display:none"> <li><a class="subbutton"><span class="icon_text"></span>Rechner</a></li> <li><a class="subbutton"><span class="icon_text"></span>Notiz</a></li> <li><a class="subbutton"><span class="icon_text"></span>Kalender</a></li> </ul> </li> <li><a href="#"><span class="icon_text comment"></span>Notizen</a></li> <li><a href="#"><span class="icon_text stats"></span>Statistiken</a></li> </ul>
Code:
$("#navbar li").click(function(){ /*if( $(this).children().is(".subnavi") == true )*/ if( $(this).children().is('ul .subnavi') == true ) { $('#navbar li ul').fadeOut(300); $(this).find("ul").fadeIn(500); $("#navbar li").removeClass('active'); $(this).addClass('active'); return false; } });
Hoffe das ist soweit verständlich.
Kommentar