Schmuse: Menu ein- und ausklappen

Hallo Leute,

hab leider nur sehr wenig Ahnung von JS, aber ich möchte gerne ein Menü machen, das der Benutzer ausklappen und wieder einklappen kann.
Aber ich scheitere schon beim wieder einklappen:
Wenn man auf Test1 klickt, klappt er zu, aber wenn ich nochmal auf Test1 klicke macht er gar nix. Hier mein Quellcode:

  
<html>  
<head>  
<script type="text/javascript">  
function divAusblenden(id)  
{  
if(document.getElementById(id).style.display = "block")  
{  
document.getElementById(id).style.display = "none"  
}  
else  
{  
document.getElementById(id).style.display = "block"  
}  
}  
</script>  
</head>  
<body>  
<div onclick="divAusblenden('men')">  
test1  
</div>  
<div id="men">  
test2  
</div>  
</body>  
</html>  

Vielleicht kann mir auch gleich einer sagen, wie ich es mache, daß das Programm die divs beim laden der Seite alle zuklappt.

Danke schonmal im Voraus,

MFG Schmuse

  1. du suchst vermutlich window.onload

    1. Wie gesagt, habe nicht viel Ahnung in dem Bereich, aber es müsste doch reichen wenn er dem div einfach von Anfang an ein display:none gibt, oder?

      Gruß
      Tunnel85

  2. if(document.getElementById(id).style.display = "block")
    {
    document.getElementById(id).style.display = "none"

    Hab ja von JS nicht viel Ahnung, aber denke mal das der Vergleichsoperator in JS auch == ist und nicht nur =

    Gruß
    Tunnel

  3. Liebe(r) Schmuse,

    http://de.selfhtml.org/css/layouts/navigationsleisten.htm#modern

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
  4. Danke Leute für eure Hilfe - alle meine Probleme wären damit "fast" gelöst.
    Da gäbe es noch ein weiteres Problem:

    Also ich hab meine Seite mit meinem Menu und der User kann nun das Menu aufklicken, wie er lustig ist. Wenn er aber dann einen link klickt bzw. die Seite aktualisiert, wird das Menu wieder komplett zusammengeklappt, weil ja dieses style="display:none" dort ist. Wenn es eine Möglichkeit gäbe die displays der divs in php auszulesen, wenn der User einen klick macht, dann könnte ich abfragen auf

    echo '<div id="men"';  
    if ($div["men"] == 'none')  
      echo ' style="display:none"';  
    echo '>test2</div>';
    

    Und mein html schaut bis jetzt so aus:

    <html>  
    <head>  
    <script type="text/javascript">  
    function divAusblenden(id)  
    {  
    if(document.getElementById(id).style.display == "block")  
    {  
    document.getElementById(id).style.display = "none"  
    }  
    else  
    {  
    document.getElementById(id).style.display = "block"  
    }  
    }  
    </script>  
    </head>  
    <body>  
    <div onclick="divAusblenden('men')">  
    test1  
    </div>  
    <div id="men" style="display:none">  
    test2  
    </div>  
    <div>  
    test3  
    </div>  
    </body>  
    </html>
    

    Naja wenns da keine Lösung gibt, ists auch nicht sooooooo schlimm - dann gehe ich auf die ID, die im Link steht und mache dem User NUR die ID aus der DB auf, die er auch geklickt hat. - aber ich glaube für den User wäre es komfortabler, wenn er bei einem Klick auch wieder ALLES zu sehen gekommt, was er gerade geöffnet hat.

    Aber vielelicht gibt es ja da doch IRGENDWAS, was man hernehmen könnte.