S3Ri0US: ImageReplace mit ID ?

Morgen.. ich habe leider noch nicht so große JavaScript Kenntnisse und Google konnte mir auch nicht besonders Helfen. Ich habe folgendes Problem. Ich habe einen Link (href) mit MouseOver und darunter ein Bild (img) mit einer id. (id="news). So jetzt möchte ich das Bild ändern wenn man mit der Maus über den Link geht. Ich habe bisher folgendes:

meine Href:

<a class="link1" href="design.htm" onMouseOver="javascript:replaceImage(news)">News</a><br>

mein Image:

<img id="news" border="0" src="design/menu_nomouse.jpg" width="50" height="2">

meine Funktion:

function replaceImage(imageId) {
    var icon = document.getElementById(imageId);
    icon.src = icon.src.replace("design/menu_mouseover.jpg");
}

Leider kommt jetzt immer ein fehler das es kein Objekt ist oder "null"

Hoffe ihr könnt mir helfen.  Danke euch schon mal.

  1. Hallo S3Ri0US,

    <a class="link1" href="design.htm" onMouseOver="javascript:replaceImage(news)">News</a><br>

    das "javascript:" hat hier nichts zu suchen. Wenn news keine Variable mit dem Inhalt "news" ist, setze news bitte in ".

    mein Image:

    <img id="news" border="0" src="design/menu_nomouse.jpg" width="50" height="2">

    ist das nicht ein bisschen schmal?

    Leider kommt jetzt immer ein fehler das es kein Objekt ist oder "null"

    wer ist "es".

    Gruß, Jürgen

    1. Vielen Dank für deine schnelle Antwort.

      Wie meinst du das mit news in Punkt setzten ? so ?

      <a class="link1" href="design.htm" onMouseOver="replaceImage(".news")">News</a><br>

      Zweitens: Das ist nur so eine Art Linie die ich unter meinem menü habe. Diese Färbt sich dann wie der Text in eine andere Farbe.

      Drittens: Wer ist es ?

      'null' ist Null oder kein Objekt

      Danke

      1. DANKE ! Habs jetzt ! Vielen Dank euch beiden

      2. Hallo S3Ri0US,

        Wie meinst du das mit news in Punkt setzten ? so ?

        <a class="link1" href="design.htm" onMouseOver="replaceImage(".news")">News</a><br>

        nein, wie derletztekick schon schrieb, sollst du news in " (Apostrophe) einkleiden, damit es ein String wird:

        onMouseOver="replaceImage('news')".

        und da man " nicht (so einfach) verschachteln kann, nimm für den String-im-String das einfache '

        'null' ist Null oder kein Objekt

        'null' war in diesem Fall der Wert der nicht definierten Variablen news.

        Gruß, Jürgen

  2. Hallo S3Ri0US,

    sieht schon fast richtig aus, was Du versucht hast.

    onMouseOver="javascript:replaceImage(news)">News
    Zunächst, das javascript kannst Du hier weg lassen. Du kannst also eine Funktion direkt an den Event binden. Beim Funktionsaufruf übergibst Du keine Variable sondern einen Wert. Dieser Wert ist ein String und muss auch als solcher übergeben werden.

    icon.src = icon.src.replace("design/menu_mouseover.jpg");
    Du solltest nicht so kompliziert denken. Du willst einer VAriablen oder einer Eigenschaft nur einen neuen Wert geben. Wenn Du bspw. der Variabeln a den Wert 10 gibst, dann machst Du das so: var a = 10;. Willst Du den Wert überschreiben, so tust Du das wie folgt: a = 20;. Selbes Schema geht auch beim Überschreiben der Eigenschaft src des Bildes: icon.src = "neuer/pfad/zum/bild.jpg";

    Mit freundlichem Gruß
    Micha

    --
    LeagueEditor JavaScript kostenlose Ligaverwaltung || richtig Messen will gelernt sein