Lion: Funktionsparameter

Also, ich hab ein kleines Problem.
Vorweg, ich hab noch nie wirklich javascript gelernt sondern wurschtel mich grad nur mit kenntnissen anderer sprachen durch.

so und zwar will ich, eigentlich ganz simpel dass beim ueberfahren eines dives ein anderes div unsichtbar wird.
Eigentlich auch kein problem wenn ich bei

document.all.txt.style.visibility="hidden";

die id des unsichbar zu machenden divs konkret angebe (hier txt).

Problemetisch wirds wenn ich versucht diese ID durch einen funktionsparameter ersetzen will.

das ganze saehe dann so aus (das is nur eine von sehr vielen morgelichkeiten die ich durchprobiert hab)

<script language="javascript"><!--
  function aus(nr) {
   document.all.nr.style.visibility="visible";

}
  //-->
  </script>
 .
 .
 .
  <div id="icq"  onmouseover="aus(txt)">

Das geht nich!
Wie gesagt ich hab auch schon, nachdem ich mir diverse funktionen mit parametern und so angeschaut hab das ganze etwas anders gemacht daher erhoffe ich mir eine recht konkrete antwort was ich da aendern soll damits geht.

danke schonmal im vorraus Lion

  1. Hallo,

    Vorweg, ich hab noch nie wirklich javascript gelernt sondern wurschtel mich grad nur mit kenntnissen anderer sprachen durch.

    das ist zwar als Einstieg in Ordnung, weil Javascript tatsächlich einige Ähnlichkeiten zu anderen Sprachen hat. Aber wenn du es häufiger mal verwenden möchtest, solltest du dich doch mal etwas intensiver einarbeiten.

    document.all.txt.style.visibility="hidden";

    Das sieht nach einem Uralt-Beispiel aus der Zeit aus, als der IE4 Marktführer unter den Browsern war. Das all-Objekt ist eine typische Eigenentwicklung von MS, die nicht zum Standard gehört. Es wird zwar mittlerweile von einigen anderen Browsern still und heimlich auch unterstützt, zukunftssicher ist aber die Variante

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

    Damit hat sich deine zweite Frage eigentlich auch schon erledigt:

    die id des unsichbar zu machenden divs konkret angebe (hier txt).
    Problemetisch wirds wenn ich versucht diese ID durch einen funktionsparameter ersetzen will.

    Aber nur für den Fall, dass dir dieses Namensproblem in einem anderen Kontext wieder begegnet (was durchaus vorkommen könnte), will ich dir an deinem eigenen Beispiel die alternative Schreibweise zeigen, die auch variable Ausdrücke verkraftet.

    Deine Variante:

    document.all.txt.style.visibility="hidden";

    Alternative:
       document.all['txt'].style.visibility="hidden";

    Jede Objekt-Eigenschaft lässt sich in JS auch mit der array-ähnlichen Schreibweise über eckige Klammern [] ansprechen, weil JS keine strenge Unterscheidung zwischen Objekten und Arrays trifft. Man könnte sagen, in JS ist jedes Array ein Objekt und umgekehrt.

    danke schonmal im vorraus

    Wo bitteschön? Ich glaube, dein 'r' prellt.

    So long,
     Martin

    --
    Denken ist wohl die schwerste Arbeit, die es gibt. Deshalb beschäftigen sich auch nur wenige damit.
      (Henry Ford, amerikanischer Industriepionier)
  2. Hello out there!

    <script language="javascript">

    So nicht! Wie’s richtig geht: <http://de.selfhtml.org/javascript/intro.htm#javascriptbereiche@title=JavaScript-Bereiche in HTML definieren>.

    <!--
      //-->

    Und die HTML-Kommentarzeichen lässt du auch besser weg.

    See ya up the road,
    Gunnar

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)