Gothicer: Variablen ändern

Hallo
Ich bin gerade dabei ein bischen js zu lernen, doch ich habe im moment folgendes Problem.

Ich will, dass eine variable bei einem mouseover geändert wird. Dazu habe ich dann mal etwas ausprobiert:
<a href="index.htm"
   onMouseOver="var hallo= test;"
   border="0" alt="Home">test</a><br>

<script type="text/javascript">
document.write(hallo);
</script>

Doch das funktioniert net und ich glaube ich bin da völlig auf dem holzweg. kann mir vieleich5t einer helfen?
Gruss Gothicer

  1. Hi,

    Ich will, dass eine variable bei einem mouseover geändert wird. Dazu habe ich dann mal etwas ausprobiert:
    <a href="index.htm"
       onMouseOver="var hallo= test;"
       border="0" alt="Home">test</a><br>

    <script type="text/javascript">
    document.write(hallo);
    </script>

    Tja, also, ich sehe da zwei Probleme:

    1.) Machst du ein document.write welches ausgeführt wird, noch bevor deine Variable hallo überhaupt definiert wird (denn dies geschieht ja erst bei deinem Mouseover. Das was du vermutlich eher willst ist etwas wie:

    document.getElementById(Die_ID_Irgendeines_HTML_Elementes).innerHTML = hallo;

    (oder elegeanter mit der DOM-Methode createNode)

    2.) Hast du bei 'test' die Anführungszeichen vergessen. 'test' ist ein String, und braucht folglich Anführungszeichen.

    3.) Habe ich auch festgestellt, das wertzuweisungen in Event-handlern problematisch sind. Was du machen könntest, wäre:

    onMouseOver = "function setHallo () {hallo = 'test';};setHallo();"

    Ist aber unschön zu lesen. Wenn dann besser so geschrieben:

    <script type="text/javascript">
    <!--
      var hallo;
      function setHallo (text) {
          hallo = text;
      }
    //-->
    </script>

    <a href="index.htm"
       onMouseOver="setHallo('test');"
       border="0" alt="Home">test</a><br>

    1. Tja, also, ich sehe da zwei Probleme:

      1.)
      2.)
      3.)

      4.) kann ich nicht zählen, was für ein Jammer :)

  2. Hallo,

    lokale und globale Gültigkeit von Variablen solltest du dir mal zu Gemüte führen:

    eine globale Variable:

      
    <span onmouseover="hallo= 'test';alert(hallo);">setzen</span>  
    <span onmouseover="alert(hallo);">ausgeben</span>  
    
    

    eine lokale Variable (nur gültig innerhalb von onmouseover):

      
    <span onmouseover="var hallo= 'test';alert(hallo);">setzen</span>  
    <span onmouseover="alert(hallo);">ausgeben</span>  
    
    

    Weiterhin:
    Schau dir die Fehlermeldungen an, die dein System dir zur Verfügung stellt!!!!!!

    gruss

    --
    no strict;
    no warnings;
    Der natürliche Feind der Festplatte ist der Teppich, der sich gerne mal elektrisch aufläd und der Festplatte eine wischt.
    Kluge Leute sind auch nur Menschen.
  3. Hallo Gothicer,

    <a href="index.htm"
       onMouseOver="var hallo= test;"
       border="0" alt="Home">test</a><br>

    <script type="text/javascript">
    document.write(hallo);
    </script>
    Doch das funktioniert net und ich glaube ich bin da völlig auf dem holzweg. kann mir vieleich5t einer helfen?

    Vielleicht, wenn du auch die Variable test in einem Skriptbereich global definierst und ihr einen Wert zuweist? Ich würde da testweise aber eher mit einem alert arbeiten.

    Gruß Gernot