$xNeTworKx: mouseover mit getElementById?

Hola,
Ich bringe es einfach nicht zusammen, mit document.getElementById einen mouseover/mouseout Effekt zu erzielen. Der Grund, warum ich das so machen will, ist weil ich das Script für alle Unterseiten in einer externen Javascript Datei verwenden will, und manchmal wird es vorkommen, dass sich eine Grafik vor den mouseover/out Buttons auf der Webseite befindet, wodurch ich mit den Indexnummern der Grafiken nicht arbeiten kann.
Momentan sieht es so aus:
onmouseover="buttonswechseln(rechtsbutton,rechtslight)" onmouseout="buttonswechseln(rechtsbutton,rechtsdark)"

rechtslight = new Image();
rechtslight.src = "pics/button_nachrechts_light.jpg";

rechtsdark = new Image();
rechtsdark.src = "pics/button_nachrechts_dark.jpg";

function buttonswechseln(buttonid,zustand)    {
document.getElementById(buttonid).src = zustand.src;
}

document.getElementByID ist laut Fehlermeldung immer Null oder kein Objekt? Weiß jmd. eine Lösung bzw eine andere Möglichkeit das Problem zu lösen?

P.S Wie kann man im Mozilla eigentlich Javascript Fehlermeldungen aktivieren?

$xNeTworKx.

  1. Hi,

    onmouseover="buttonswechseln(rechtsbutton,rechtslight)" onmouseout="buttonswechseln(rechtsbutton,rechtsdark)"

    wo wird die Variable rechtsbutton wie definiert? Oder wolltest Du die Id 'rechtsbutton' übergeben?

    P.S Wie kann man im Mozilla eigentlich Javascript Fehlermeldungen aktivieren?

    Tools - Webdevelopment - Javascript Console

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. Hallo,

      P.S Wie kann man im Mozilla eigentlich Javascript Fehlermeldungen aktivieren?

      Tools - Webdevelopment - Javascript Console

      Oder einfach "javascript:" ueber die Adresszeile ausfuehren (ohne "-Zeichen).

      MfG, Thomas

    2. Hola,

      onmouseover="buttonswechseln(rechtsbutton,rechtslight)" onmouseout="buttonswechseln(rechtsbutton,rechtsdark)"

      wo wird die Variable rechtsbutton wie definiert? Oder wolltest Du die Id 'rechtsbutton' übergeben?

      Das Problem ist, dass ich ja dann auch noch einen linksbutton habe und ich nicht für jeden Button eine eigenene Funktion verwenden will. Das Problem ist doch eigentlich, dass ich nicht weiß, wie ich der Funktion sagen kann, dass einmal der rechte, und ein anderes Mal der linke Button gemeint ist?
      $xNeTworKx.

      1. Hi,

        onmouseover="buttonswechseln(rechtsbutton,rechtslight)" onmouseout="buttonswechseln(rechtsbutton,rechtsdark)"
        wo wird die Variable rechtsbutton wie definiert? Oder wolltest Du die Id 'rechtsbutton' übergeben?
        Das Problem ist, dass ich ja dann auch noch einen linksbutton habe

        Du willst also die id übergeben, nicht die Variable namens rechtsbutton.
        Wie ich bereits vermutet hatte.
        Guck Dir also nochmal _GENAU_ an, was da oben von mir geschrieben steht.

        cu,
        Andreas

        --
        Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
        http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
  2. onmouseover="buttonswechseln(rechtsbutton,rechtslight)" onmouseout="buttonswechseln(rechtsbutton,rechtsdark)"

    rechtslight = new Image();
    rechtslight.src = "pics/button_nachrechts_light.jpg";

    rechtsdark = new Image();
    rechtsdark.src = "pics/button_nachrechts_dark.jpg";

    function buttonswechseln(buttonid,zustand)    {
    document.getElementById(buttonid).src = zustand.src;
    }

    document.getElementByID ist laut Fehlermeldung immer Null oder kein Objekt? Weiß jmd. eine Lösung bzw eine andere Möglichkeit das Problem zu lösen?

    du übergibst der Funktion ja auch ein Objekt und keine ID.

    Struppi.

    1. Hola,

      du übergibst der Funktion ja auch ein Objekt und keine ID.

      ..und wie kann ich eine ID übergeben?

      Wenn ich mal einen statischen Wert zuweise, also...

      rechtslight = new Image();
      rechtslight.src = "pics/button_nachrechts_light.jpg";

      rechtsdark = new Image();
      rechtsdark.src = "pics/button_nachrechts_dark.jpg";

      function buttonswechseln(zustand)    {
      document.getElementById("rechtsbutton").src = zustand.src;
      }

      .. würde es funktionieren, nur wie mache ich "rechtsbutton" dynamisch, damit ich zB auch "linksbutton" oder andere Grafiken ansprechen kann?

      $xNeTworKx.

  3. Hi,

    onmouseover="buttonswechseln(rechtsbutton,rechtslight)" onmouseout="buttonswechseln(rechtsbutton,rechtsdark)"

    Schon mal so probiert?

    onmouseover="buttonswechseln('rechtsbutton',rechtslight)" onmouseout="buttonswechseln('rechtsbutton',rechtsdark)"

    Weil als erstes Argument willst Du ja einen String übergeben und als zweites eine Variable.

    Grüße,

    Ronny

    1. Hi,

      Weil als erstes Argument willst Du ja einen String übergeben und als zweites eine Variable.

      Eigentlich übergibt das zweite Argument gar keine Variable, sondern ein in einer Variablen gespeichertes Image.

      Grüße,

      Ronny

    2. onmouseover="buttonswechseln('rechtsbutton',rechtslight)" onmouseout="buttonswechseln('rechtsbutton',rechtsdark)"

      Das war der springende Punkt.

      greetz,$xNeTworKx.

  4. Momentan sieht es so aus:
    onmouseover="buttonswechseln(rechtsbutton,rechtslight)" onmouseout="buttonswechseln(rechtsbutton,rechtsdark)"

    rechtslight = new Image();
    rechtslight.src = "pics/button_nachrechts_light.jpg";

    rechtsdark = new Image();
    rechtsdark.src = "pics/button_nachrechts_dark.jpg";

    function buttonswechseln(buttonid,zustand)    {
    document.getElementById(buttonid).src = zustand.src;
    }

    Eigentlich willst du:

    onmouseover="buttonswechseln('rechtsbutton',rechtslight)" onmouseout="buttonswechseln('rechtsbutton',rechtsdark)"
    function buttonswechseln(buttonid, zustand)    {
    document.getElementById(buttonid).src = zustand.src;
    }

    Struppi.