steckl: [kein PHP] Aufklappen & zuklappen

Beitrag lesen

Hi,

Hi,

ich bin gerade dabei ne Website zu coden und komm gerade nicht weiter. Folgender Code lässt zwei Links anzeigen, wenn man auf einen klickt öffnet sich darunter ein DIV welches vorher versteckt war. Wenn ich auf den selben Link nochmals klicke schliesst sich das DIV wieder. So zu sagen ein "Klappmenü".

Also immer wenn du draufklickst soll sich die display-Eigenschaft des divs ändern, unabhängig davon, ob ein anderes bereits geöffnet ist oder nicht. Oder meinst du was anderes?

  

> var angezeigt = false;  

Diese globale Variable dürfte mit meiner Lösung überflüssig sein.  
Außer du willst, dass immer maximal nur ein div ausgeklappt ist, dann könntest du hier speichern, welches Element gerade ausgeklappt ist.  
  

> function versteckt(divid)  
> {  
>  if (angezeigt)  

Hier könntest du ja überprüfen, wie das display des entsprechenden Elements momentan gesetzt ist:  
if(document.getElementById(divid).style.display == 'block')  
  {  
    document.getElementById(divid).style.display = 'none';  
  }  
  else  
  {  
   document.getElementById(divid).style.display = 'block';  
  }  

> }  

<a href="#" onclick="versteckt('versteckt1')"><p class="contenttitel">Link 1</p></a>

Innerhalb von a-Elementen dürfen keine Blockelemente wie p stehen:
http://de.selfhtml.org/html/referenz/elemente.htm#a

<div id="versteckt1" style="display:none">
Ich bin versteckter Inhalt 1
</div>

<a href="#" onclick="versteckt('versteckt2')"><p class="contenttitel">Link 2</p></a>
<div id="versteckt2" style="display:none">
Ich bin versteckter Inhalt 2
</div>

mfG,
steckl