Konfusion: Display / Klasse ändern

Hallo alle,

ich hatte am 06.10.09 den Thread Ein- & Ausblenden über denselben Button / Parameter zurückgeben erstellt, habe mich aber erst heute endgültig an die Lösung gemacht.

Es ging dabei um folgendes:

Ich habe vier DIVs, davon darf immer nur eins eingeblendet sein. Die Funktion, beim Einblenden eines DIVs die anderen drei auszublenden läuft wunderbar.

Mein Problem ist, dass ich das offene DIV auch wieder ausblenden möchte, wenn ich auf den Button klicke, der dieses DIV geöffnet hat. In dem Fall wären dann alle vier DIVs wieder geschlossen. Ich müsste also irgendwo eine Info bereitstellen, welches DIV gerade geöffnet ist, also einen Parameter an die aufrufende Funktion zurückgeben.

Vielen Dank an Don P, der das Entscheidende zur Lösung beigetragen hat.

Der Vollständigkeit halber poste ich hier das Ergebnis:

  
function display(n) {	  
	var klappreihe = new Array("empty","aufklapptext1","aufklapptext2","aufklapptext3","aufklapptext4");  
	for (var i = 1; i <= klappreihe.length - 1; i++) {  
		if ( i == n ) {  
			document.getElementById(klappreihe[i]).style.display = document.getElementById(klappreihe[i]).style.display === 'block' ? 'none' : 'block';  
		} else {  
			document.getElementById(klappreihe[i]).style.display = "none";  
		}  
	}  
}