christian: java onclick

ich möchte gerne ein bild als link benutzen. dieses bild besteht aus text. es sollte beim überfahren ein anderes bild kommen. das geht auch(unten quelltext). jetzt möchte ich, dass dann dieses bild bleibt. wie geht das? ich schätze mit "onclick" oder soetwas. aber ich hab leider null-ahnung von javascripts. wer kann helfen?

<a href="rabbigramme.html"
onMouseOver="rollover.src="pics/1(1)_navi.gif""
onMouseOut="rollover.src="pics/1_navi.gif""><img src="pics/1_navi.gif" name="rollover"

danke christian

  1. Hi christian,

    du musst bei onClick eine Variable auf 1 setzten, die standartmäßig auf 0 ist.

    beim onMouseOut musst du dann per if fragen, ob die Variable 0 ist - nur dann kommt wieder das andere bild.

    Wenn du jetzt also gelickt hast wechselt er das Bild bei onMouseOut nicht mehr.

    Viel Spass

    ALEX

    1. hi alex

      ich versteh das total nicht. sorry, aber ich habe keine ahnung von javascripts.
      bitte einfacher

      Hi christian,

      du musst bei onClick eine Variable auf 1 setzten, die standartmäßig auf 0 ist.

      beim onMouseOut musst du dann per if fragen, ob die Variable 0 ist - nur dann kommt wieder das andere bild.

      Wenn du jetzt also gelickt hast wechselt er das Bild bei onMouseOut nicht mehr.

      Viel Spass

      ALEX

      1. Hi,

        ich versteh das total nicht. sorry, aber ich habe keine ahnung von javascripts.

        nimm's mir bitte nicht übel, aber: das merkt man schon daran, daß Du von Java sprichst, was mit JavaScript wirklich absolut nicht das geringste zu tun hat.

        Also, Du willst:

        • onMouseOver die Grafik ändern.
        • onMouseOut die Grafik wieder zurücksetzen, WENN
        • der Link nicht angeklickt wurde.

        Letzteres ist ein Zustand, den Du speichern mußt, nämlich in einer Variablen:

        <script language="JavaScript" type="text/javascript">
          <!--
          var activeLink = -1;
          // -->
        </script>

        Hiermit ist die Variable deklariert und auf einen Anfangszustand gesetzt. Nun kümmern wir uns um die Bedingung bei onMouseOut:

        onMouseOut="if (activeLink != 1) { ... }"

        Für die Grafik "rollover" haben wir hier den Wert 1 definiert - Du könntest auch 0 oder 47 oder -16.5 nehmen, hauptsache es ist nicht -1.

        Was soll nun im if-Fall passieren? Ah ja, genau das, was Du schon hast:

        onMouseOut="if (activeLink != 1) { document.rollover.src='pics/1_navi.gif'; }"

        Ich habe gleich mal die Anführungszeichen korrigiert; so wie Du es hattest konnte das eh nicht funktionieren. Die Referenzen sollten auch korrekt angegeben werden: Bilder sind Eigenschaften eines document-Objektes.

        Sodele. Nun mußt Du nur noch dafür sorgen, daß activeLink irgendwann auch 1 wird, sonst bringt das ganze ja nichts:

        onClick="activeLink=1;"

        Dies ist der einfachste Fall. Wenn Du noch Dinge wie Navigation per Back und Forward etc. beachten willst, mußt Du Dir selbst Zusatzmechanismen ausdenken - im Grunde läuft es aber nur auf die Manipulation der Variablen activeLink (und zusätzlich Änderung der Grafiken) hinaus. Viel Erfolg!

        Cheatah, hoffentlich sieht mein Arbeitgeber nicht, womit ich hier meine Zeit verbringe :-)