Hallo,
Du solltest Dir überlegen, jQuery zu verwenden. Das Binden von Aktionen oder Ändern derselben ist im natoven JavaScript browserabhängig zu programmieren und nicht wirklich trivial. Mit jQuery hast Du ein framework, das Dich da in jeder Hinsicht zufrieden stellen dürfte.
Sofern Du kein jQuery einsetzen kannst oder darfst, würde ich folgendes machen:
Definiere eine globale Variabel
var last_opened_element = null;
ganz oben im Script.
In der onclick-Funktion übergibst Du schließlich die ID der Ebene, die geöffnet werden soll. Die zuletzt geöffnete Ebene merkst Du Dir, indem Du die Funktion test(id, modus) so programmierst, dass Du Dir eben merkst, was geschehen soll.
var test = function(id, modus) {
if(last_opened_element !== null) {
// Es gibt ein geöffnetes Element
// Schließe Element
last_opened_element = null;
} else {
// Es wurde noch kein Element geöffnet
// Öffne Element
// merke Dir die letzte ID
last_opened_element = id;
}
}
wichtig ist, dass Du die Variabel „last_opened_element“ außerhalb - und sinnvollerweise auch oberhalb - der Funktion definierst.
Gruß Tim
// PS Einrückungen sind im Code nicht berücksichtigt.