Gunnar Bittersmann: Function soll überprüfen, ob layer bereits geöffnet ist und ....

Beitrag lesen

@@Newbie:

nuqneH

function anzeigen(layer)
{
if (document.getElementById(layer).style.display=='none')
{
document.getElementById(layer).style.display='block';
}
else
{
document.getElementById(layer).style.display='none';
}
}

Zusätzlich zu den anderen Antworten: Es ist unsinnig, sich dasselbe Element dreimal aus dem DOM rauszusuchen. Besser einmal und die gefundene Referenz in einer Variablen speichern:

function anzeigen(id)  
{  
  var element = document.getElementById(id);  
  if (element.style.display == 'none')  
  {  
    element.style.display = 'block';  
  }  
  else  
  {  
    element.style.display = 'none';  
  }  
}

was sich auch http://de.selfhtml.org/javascript/sprache/bedingt.htm#entweder_oder@title=kürzer schreiben lässt:

function anzeigen(id)  
{  
  var element = document.getElementById(id);  
  element.style.display = (element.style.display == 'none' ? 'block': 'none';  
}

Besser wäre es aber wohl, nicht die ID als Parameter zu übergeben, sondern schon die Referenz auf das Element:

function anzeigen(element)  
{  
  element.style.display = (element.style.display == 'none' ? 'block': 'none';  
}

Aufruf mit anzeigen(document.getElementById('foo')) bzw. möglicherweise einfach per anzeigen(this).

Qapla'

--
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)