Ole: probleme mit if abfrage

hi

ich als JS dau bin grad dabei mir ein kleines treemenue zu bauen...mit hilfe von CSS und JS.

mein ansatz ist folgender:

alle <ol>-tags erhalten eine id die ich dann mit einem link und einer darin aufgerufenen JS-function ein- bzw. ausblende

das einfache ein bze ausblenden bereitet mir keine probleme, das funktioneirt ja mit:

onclick='document.getElementById("blabla").style.visibility = "hidden";'

nun versuche ich mich (wie gesagt, ziemlicher dau mit JS) daran ein kleine feine function zu schreiben um das ganze via

onclick='umschalten("blabla");'

zu ermöglichen. wenn eine ID visible ist soll sie hidden werden und umgekehrt.

kann ja nicht so schwer sein hab ich mir gedacht, den JS hat ja auch if / else  möglichkeiten, nur in verbindung mit dem kleinen string oben bekomme ich es nicht hin...

mein script-ansatz sieht so aus:

function umschalten("blabla")
if document.getElementById("blabla").style.visibility = "visible";
 {
 document.getElementById("blabla").style.visibility = "hidden";
 }
else
 {
 document.getElementById("blabla").style.visibility = "visible";
 }
}

ich muß zu meiner schande gestehen das ich die JS-If-Anweisungen noch nicht wirklich blicke (wie man oben unschwer erkennen kann ;)).

wie muß es denn richtig heißen?

thx
so long
ole
(8-)>

--
Buch macht kluch...
...meistens ;)
  1. Hallo Ole,

    Ich hab Deinen Code nicht weiter auf Richtigkeit geprueft, aber if-Bedingungen kommen in Klammern mit 2 Gleichheitszeichen.

    Syntax:
    if (a=="b"){
    mach dies und jenes;
    }

    Dieter

    1. Ich hab Deinen Code nicht weiter auf Richtigkeit geprueft, aber if-Bedingungen kommen in Klammern mit 2 Gleichheitszeichen.

      Jo. Außerdem fehlt die öffnende Funktionsklammer. Also

      function umschalten("blabla") {

      ..
      ..
      ..

      }

      Gruß

      Urmel

      1. hi zusammen

        oki, dann bin ich jetzt soweit:

        function sichtbar("blabla")
        {
        if (document.getElementById("blabla").style.visibility == "visible")
         {
         document.getElementById("blabla").style.visibility = "hidden";
         }
        else
         {
         document.getElementById("blabla").style.visibility = "visible";
         }
        }

        aber funktionieren tuts immer noch nicht :(

        hab ihr vieleicht noch ein paar tips mehrfür mich ? :)

        so long
        ole
        (8-)>

        --
        Buch macht kluch...
        ...meistens ;)
        1. Hallo Ole,

          onclick="sichtbar('blabla')" schickt den Wert 'blabla' an die Funktion 'sichtbar'

          Bei der Funktion steht der Variablenname in Klammern, nicht der Wert 'blabla', der ja erst ueberreicht wird, also nicht

          function sichtbar("blabla")

          sondern

          function sichtbar(test){

          if (document.getElementById(test).style.visibility == "visible")
           {
           document.getElementById(test).style.visibility = "hidden";
           }
          else
           {
           document.getElementById(test).style.visibility = "visible";
           }
          }

          Auch bitte auf die Anfuehrungszeichen achten. Zum Testen eignet sich Mozilla m.E. besser, da die JavaScript-Konsole wesentlich aussagekraeftiger ist, als der MSIE Debugger.

          Dieter

          1. hi Dieter

            vielen dank :)

            habs grade auch selber rausgefunden *froi*

            alles liebe
            ole
            (8-)>

            --
            Buch macht kluch...
            ...meistens ;)
            1. Hallo Ole,

              noch besser!

              Dieter

        2. nochmal hi

          ohne anführungszeichen klappts besser *seuftz*

          function sichtbar(blabla)
          {
          if (document.getElementById(blabla).style.visibility == "visible")
          {
          document.getElementById(blabla).style.visibility = "hidden";
          }
          else
          {
          document.getElementById(blabla).style.visibility = "visible";
          }
          }

          wieder was gelernt :)

          thx & so long
          ole
          (8-)>

          --
          Buch macht kluch...
          ...meistens ;)