Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Untermenüs aufklappen
Frage
Hallo,
ich habe ein Menü mit Untermenüs gemacht. Die kann man anzeigen oder verschwinden lassen.
Schematisch sieht das etwa so aus:
-Hauptpunkt
___+Untermenü
___+Untermenü
___+Untermenü
-Hauptpunkt
-Hauptpunkt
-Hauptpunkt
___+Untermenü
__ sollten Leerzeichen sein
Ich habe aber das Problem dass das Gesamte Menü zu lang wird wenn alle Untermenü's "ausgeklappt" werden.
Ich würde das verhindern in dem ich überprüfe (Beim Klicken auf ein Hauptpunkt mir Untermenü) ob ein Untermenü ausgeklappt ist. Wenn ja diese "Einklappen".
Hier mal der Source Code:
» <a href="#" onclick="swap_content('{songs}');return false;">Hauptmenü</a><br>
<span id="{songs}" style="display: none">
<a style="border-width:0px;" href="sonown_1.html" onclick="swap_content('{songs1}'); return false;" target="frame"><div style="text-decoration:none;" id="sub">- </span>Untermenü</div></a>
<a style="border-width:0px;" href="soncovers_1.html" onclick="swap_content('{songs2}'); return false;" target="frame"><div style="text-decoration:none;" id="sub">- Covers</div></a></span>
Und noch der Javascript:
<script language="JavaScript">
<!--
function swap_content( span ) {
displayType = ( document.getElementById( span ).style.display == 'none' ) ? 'block' : 'none';
document.getElementById( span ).style.display = displayType;
}
//-->
</script>
Hat jemand ein Ahnung wie man das machen kann? Wäre dankbar für eine "fertiges" Modell, da meine JavaScript Kenntniss sehr Minim sind.
Gruss beat
Antwort 1 von SuperDau
Antwort 2 von Beat Gurtner
ja so was. Nur ist meine Version viel einfacher. Ich möchte sie auch bei behalten aber mit dem was ich oben bereits schrieb
Antwort 3 von Beat Gurtner
Habs schon selbst geschafft:
var lastSpan = null;
function swap_content( span )
{
if ( lastSpan )
{
document.getElementById( lastSpan ).style.display = 'none';
}
displayType = ( document.getElementById( span ).style.display == 'none' ) ? 'block' : 'none';
document.getElementById( span ).style.display = displayType;
lastSpan = span;
}
var lastSpan = null;
function swap_content( span )
{
if ( lastSpan )
{
document.getElementById( lastSpan ).style.display = 'none';
}
displayType = ( document.getElementById( span ).style.display == 'none' ) ? 'block' : 'none';
document.getElementById( span ).style.display = displayType;
lastSpan = span;
}