Andre Speit: Mousein-Mouesout

Hallo,
ich möchte, das sich bei Berührung mit der Maus Grafiken ändern; allerdings erst wenn der Benutzer vorher einen Button gedrückt hat.

Bin noch Anfänger und hab schon eine ganze Zeit mit dem Mousein/Mouseout Befehl gebastelt aber alles was ich geschafft hab war ein "normaler" Berührungsbefehl- ohne die Aktivierung vorher.

Danke im Voraus
Andre Speit

  1. ich möchte, das sich bei Berührung mit der Maus Grafiken ändern;

    Andre,
    Du möchtest sicher, dass beim Client etwas passiert, ohne dass der Server damit belästigt (belastet?) wird. Du meinst vermutlich nicht Java, sondern JavaScript.

    allerdings erst wenn der Benutzer vorher einen Button gedrückt hat.

    Du setzt eine globale Variable initial auf false, beim Drücken des Buttons auf true. Bei Mouseover fragst du dieses Flag ab und änderst die Grafiken oder eben nicht.

    Live long and prosper,
    Gunnar

    --
    „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
    1. Hi,

      Du möchtest sicher, dass beim Client etwas passiert, ohne dass der Server damit belästigt (belastet?) wird. Du meinst vermutlich nicht Java, sondern JavaScript.

      wie kommst Du auf diese Idee? im Titel steht doch fett mouseIn und mouseOut. Das gibt's in Javascript nicht, wohl aber in Java.

      freundliche Grüße
      Ingo

      1. Du meinst vermutlich nicht Java, sondern JavaScript.
        wie kommst Du auf diese Idee?

        Och, Ingo, nur so ’ne Vermutung. Offensichtlich lag ich damit richtig.

        Live long and prosper,
        Gunnar

        --
        „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
        1. Hi,

          Och, Ingo, nur so ’ne Vermutung. Offensichtlich lag ich damit richtig.

          Tatsächlich. Ich hatte erwartet, daß es sich bei der Themenwahl Java und der Angabe von Java-Funktionen auch um ein Java-Problem handelt. Ich frage mich nur, wie Andre auf mouseIn gekommen ist, wenn er offensichtlich Java gar nicht kennt.

          freundliche Grüße
          Ingo

      2. Hallo,

        im Titel steht doch fett mouseIn und mouseOut. Das gibt's in Javascript nicht, wohl aber in Java.

        Hilfst Du mir auf die Sprünge, wo die in Standard-Java-Klassen definiert sein sollen? Bisher kenne ich nur mouseEntered(java.awt.event.MouseEvent) und mouseExited(java.awt.event.MouseEvent).

        viele Grüße

        Axel

        1. Hi,

          Hilfst Du mir auf die Sprünge, wo die in Standard-Java-Klassen definiert sein sollen? Bisher kenne ich nur mouseEntered(java.awt.event.MouseEvent) und mouseExited(java.awt.event.MouseEvent).

          Du hast Recht und ich wohl was durcheinander gebacht, sorry.

          freundliche Grüße
          Ingo

    2. Andre,
      Du möchtest sicher, dass beim Client etwas passiert, ohne dass der Server damit belästigt (belastet?) wird. Du meinst vermutlich nicht Java, sondern JavaScript.

      Ja, so stell ich mir das vor

      allerdings erst wenn der Benutzer vorher einen Button gedrückt hat.

      Du setzt eine globale Variable initial auf false, beim Drücken des Buttons auf true. Bei Mouseover fragst du dieses Flag ab und änderst die Grafiken oder eben nicht.

      Ich hab sowas mit ner Zahlvariablen und dann if probiert aber irgendwie hat das nicht wirklich geklappt.

      Wie muss das ganze denn aussehen?
      Im moment ist das bei mir wei folgt:

      _____________________________________________________________________

      <html>

      <script language="JavaScript">

      normal1 = new Image();
      normal1.src="bild1.gif";

      highlight1 = new Image();
      highlight1.src="bild1_hi.gif";

      function bildwechsel(bildnr,bildobjekt) {document.images[bildnr].src=bildobjekt.src}

      </script>

      <body>
      <a href="#" onmouseover="bildwechsel(0,highlight1)" onmouseout="bildwechsel(0,normal1)"><img src="bild1.gif"></a>

      </body>
      </html>

      _____________________________________________________________________

      1. Ich hab sowas mit ner Zahlvariablen und dann if probiert aber irgendwie hat das nicht wirklich geklappt.

        Andre,
        In deinem geposteten Code ist von deinem Versuch nichts zu sehen, da kann dir niemand sagen, warum das nicht geklappt hat.

        <html>
        <script language="JavaScript">

        Auch wenn die <head>- und </head>-Tags in HTML optional sind, solltest du sie nicht weglassen.

        Das zwingend notwendige type-Attribut des script-Elements fehlt, das language-Attribut kommt in die Mülltonne: <script type="text/javascript">

        Live long and prosper,
        Gunnar

        --
        „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
        1. Ok, ich werd drauf achte.

          Hab das ganze aber grad mit boolean Werten hingekriegt! Werd noch ein bissle rumprobieren aber ich denke ich habs geschafft.

          Gruß und danke an alle
          Andre Speit

          ______________________________________________________________________

          <html>

          <script type="text/javascript">

          normal1 = new Image();
          normal1.src="bild1.gif";

          highlight1 = new Image();
          highlight1.src="bild1_hi.gif";

          test3=5
          wert="false"

          function bildwechsel(bildnr,bildobjekt)
          {
          if
          (wert == "true"){
          document.images[bildnr].src=bildobjekt.src
          }
          else
          {

          }
          }

          </script>

          <script type="text/javascript">

          var zahl = 0;

          function test() {

          wert="true"
          }

          </script>

          <body>
          <a href="#" onmouseover="bildwechsel(0,highlight1)" onmouseout="bildwechsel(0,normal1)"><img src="bild1.gif"></a>

          <a href="javascript:test()"> TEST </a>

          </body>
          </html>

          1. Hab das ganze aber grad mit boolean Werten hingekriegt!

            Nein, hast du eigentlich nicht.

            wert="false"
            if(wert == "true")
            wert="true"

            "true" und "false" sind Strings. Boolean wäre true und false.

          2. <html>

            Andre,
            Ich vermisse immernoch das Start- und End-Tag des heads.

            wert="false"

            Ein Semikolon ist in JavaScript am Zeilenende zwar nicht zwingend, ich würd es aber dennoch immer setzen. Und „sprechende“ Variablennamen machen ein Programm lesbarer.

            if (wert == "true")

            Der Vergleich ist unnötig: wert ist ja eine boolesche Variable, deren Wahrheitswert bei der if-Anweisung entscheidend ist. Also einfach

            if (wert)

            else
            {

            }

            Das ist auch unnotig: ist der else-Zweig leer, kann er ganz entfallen.

            <a href="javascript:test()"> TEST </a>

            Sowas gewöhn dir gar nicht erst an, javasript ist kein Protokoll in einem URI.

            Außerdem führen Links gewöhnlich zu anderen Seiten. Für Aktionen auf einer Seite sind Buttons besser:

            <form action="">  
              <button onclick="test()">TEST</button>  
            </form>
            

            Live long and prosper,
            Gunnar

            --
            „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
            1. if (wert == "true")
              Der Vergleich ist unnötig: wert ist ja eine boolesche Variable,

              Ups, die Gänsefüßchen hatte ich ganz übersehen.

              […] deren Wahrheitswert bei der if-Anweisung entscheidend ist. Also einfach
              if (wert)

              Gilt dann nach Berücksichtigung der Anmerkung von jeanlucpicard2.

              Live long and prosper,
              Gunnar

              --
              „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)