Navigationsleiste mit Javascript
Lennart
- javascript
0 minicrispie0 Lennart
Hallo, ich habe eine Frage zu Javascript.
In meiner Navigationsleiste kann man auf einen Link klicken und dann öffnen sich einzelne Untermenüs mithilfe Javascript. Ich möchte es nur so machen das immer nur ein Untermenü angezeigt werden kann, also das wenn man auf einen Link klickt vorher überprüft wird ob ein Untermenü offen ist und dieses dann geschlossen wird. Wär toll wenn mir wer helfen kann.
Grüße Lennart
Code:
function anzeigen(das,was){
if(document.getElementById(das).style.display=='none') {
document.getElementById(das).style.display='block';
was.src="open.gif";
}
else {
document.getElementById(das).style.display='none';
was.src='closed.gif';
}
<td valign="top">
<img name="bild_1" src="closed.gif" align="absbottom" width="30px" height="30px">
</td>
<td valign="top">
<input onClick="javascript: anzeigen('ordner_1', bild_1); coolb.location='cstart.php'; return false;" class="button" value="Startseite">
<div id="ordner_1" class="Rand" style="display: none;">
<a href="#" onClick="parent.oben.location='ologin.php'; parent.inhalt.location='login.php'; return false;">Zum Login</a>
<br>
<a href="#" onClick="parent.oben.location='oben.php'; parent.inhalt.location='inhalt.php'; return false;"> Startseite</a> <br>
</div>
</td>
Hallo,
Wär toll wenn mir wer helfen kann.
Ich werds versuchen :-)
1. Hast du schon nachgeschaut, was die Fehler-Konsole dir evtl sagt ?
2. Hab ich (denke ich) einen Fehler entdeckt
was.src="open.gif";
Wenn das ein Bild ist müsste da stehen:
document.images[was].src="open.gif"
Ach und hier stimmt auch etwas nicht:
<input onClick="javascript: anzeigen('ordner_1', bild_1);
müsste warscheinlich heißen:
<input onClick="javascript: anzeigen('ordner_1', 'bild_1');
▲ ▲
Du hast die anführungszeichen vergessen...
P.S.: Ich garantiere für nichts ^^
MfG. Christoph
Hi,
danke erstmal für deine Hilfe.
Also erstmal der code oben ist richtig wenn ich das nach deinem Vorschlag mache dann funktionsiert es nicht mehr. ;)
Also...durch dieses script lasse ich in meiner Navigationsleiste immer Untermenüs öffnen und da liegt mein Problem.
Ich möchte immer nur ein geeöffnetes Untermenü haben. Das heißt wenn man auf einen Link klickt mit dem ein Untermenü geöffnet wird soll überprüft werden ob ein Untermenü geöffnet ist falls ja soll dieses dann geschlossen werden und dann soll das neue Untermenü gelöffnet werden.
Hallo,
<input onClick="javascript: anzeigen('ordner_1', bild_1); coolb.location='cstart.php'; return false;" class="button"
nur mal so was anderes:
wozu ist das ein Textfeld? oder meinst du hinten type statt class? Versuche außerdem dein Navi möglichste ohne Javascript zu machen sonst tappst du wie ich am anfang in die Javascript-falle. und da du anscheinend mit frames arbeitest(was ich persönlich nicht so gut finde aber das ist jedem selbst überlassen) müsstest du bei den Links mit <a href="blabla.html" target="FrameXYZ">
Und jetzt zu deinem Problem:
Du hast meiner meinung nach die Beschriftung(name="XYZ") vergessen. jedenfalls sehe ich außer im script nirgendwo "was" oder "das".
und arbeite mal mit der fehler-konsole...
MfG. Christoph