Alex: Div öffnen und andere schließen

Beitrag lesen

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