suit: Ein-/Ausblenden von Menüunterpunkten

Beitrag lesen

Leider kenn ich mich mit Javascript noch nicht so gut aus, um mein Problem selbst zu lösen.

Dir scheint ein allgemeiens Grundverständnis zu fehlen - und zwar in sachen Programmiertechnik und nicht nur in JavaScript..

Jeder Code der bei der bei einer linearen Erweiterung einer bereits bestehenden Funktion mit einer weiteren Iteration wächst hat einen Designfehler.

Du hast aktuell vier Funktionen für vier Menpunkte - die machen alle dasselbe: einen spezifischen Punkt einblenden und drei andere spezifische ausblenden.

Wenn du also einen Menüpunkt dazugibst musst du eine Funktion ergänzen und in jeder Funktion einen eintrag hinzufügen.

Was du eigentlich willst - ist wie du selbst sagst - den derzeitigen Menüpunkt einblenden und alle anderen ausblenden.

Ob du dann 4, 5, 10 oder 1000 Menüpunkte hast, spielt dann keine Rolle mehr.

Allem vorweg solltest du aber erst für sauberes HTML sorgen - ohne irgendwelche sinnbefreiten Klassen oder ids die ohnehin für nichts gut sind.

Aussehen könnte das so:

<div class="nav">  
	<ul>  
		<li><a href="#example">Seite 1</a>  
			<ul>  
				<li><a href="#example">Seite 1a</a></li>  
				<li><a href="#example">Seite 1b</a></li>  
				<li><a href="#example">Seite 1c</a></li>  
			</ul>  
		</li>  
		<li><a href="#example">Seite 2</a>  
			<ul>  
				<li><a href="#example">Seite 2a</a></li>  
				<li><a href="#example">Seite 2b</a></li>  
				<li><a href="#example">Seite 2c</a></li>  
			</ul>  
		</li>  
		<li><a href="#example">Seite 3</a>  
			<ul>  
				<li><a href="#example">Seite 3a</a></li>  
				<li><a href="#example">Seite 3b</a></li>  
				<li><a href="#example">Seite3c</a></li>  
			</ul>  
		</li>  
	</ul>  
</div>

Das unsinnige div-Element mit der Klasse nav kann auch durch ein nav-Element ersetzt werden, wenn man HTML5 verwenden möchte.