Hi,
var lastID = false;
function swap(targetID) {
obj = document.getElementById(targetID);
obj.style.display = (obj.style.display == 'block') ? 'none' : 'block';
Hier wird geschaut "Ist die Display-Eigenschaft auf Block, wenn ja ändere auf None, wenn nicht, dann ändere auf Block"
Da mit Fragezeichen und Doppelpunkt ist nur eine verkürzte Schreibweise für if/else.
Die Nutzen da Display anstatt Visibility (wie du es machst). Unterschied ist, dass bei Display:none das Element voll verschwindet. Bei Visibility:none sieht man es nur nicht, aber es wird der nötige Platz für das Element freigehalten.
if (lastID && lastID != targetID){
document.getElementById(lastID).display = "none";
}
lastID = targetID;
}
»»
Dadurch merkt er sich, was er zuletzt aufgerufen hat. Wenn dann ein neuer layer geöffnet wird, wird der alte geschlossen.
Gruß
Alex