kevin: [PHP] Aufklappen & zuklappen

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ü".

<script type="text/javascript" language="JavaScript1.2">
var angezeigt = false;

function versteckt(divid)
{
 if (angezeigt)
 {
  document.getElementById('versteckt1').style.display = 'none';
  document.getElementById('versteckt2').style.display = 'none';
  angezeigt = false;
 }
 else
 {
  document.getElementById(divid).style.display = 'block';
  angezeigt = true;
 }
}
</script>

<a href="#" onclick="versteckt('versteckt1')"><p class="contenttitel">Link 1</p></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>

Nun was muss ich daran ändern, dass wenn z.b. der erste Inhalt offen ist und ich auf den zweiten Link klicke, sich direkt der zweite Inhalt öffnet?

Hoffe ihr versteht was ich meine und freue mich über jede hilfreiche Antwort!

Danke und Gruss

  1. Lieber kevin,

    <script type="text/javascript" language="JavaScript1.2">

    was hat das mit PHP zu tun???

    Vielleicht hilft Dir dieser Thread weiter? Dort ging es um ein ähnlich gelagertes Problem...

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Oh Gott, sorry! Hatte irgendwie PHP im Kopf, aber natürlich ist mir das schon klar dass das Javascript ist ;) Danke, werde mir den Link mal anschauen!

      Lieber kevin,

      <script type="text/javascript" language="JavaScript1.2">

      was hat das mit PHP zu tun???

      Vielleicht hilft Dir dieser Thread weiter? Dort ging es um ein ähnlich gelagertes Problem...

      Liebe Grüße aus Ellwangen,

      Felix Riesterer.

  2. 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