Benjamin: mouseover

Guten Abend,
ich habe vor, dass beim mouseover über einen Link sich das Bild 0.gif in 1.gif verändert und das auf der gleichen Seite sich beim mouseover über einen anderen Link das Bild 2.gif in 3.gif verändert. Den bisherigen Code habe ich beigefügt. Zur Zeit passiert da überhaupt nichts. Es wäre nett, wenn mir jemand den entsprechenden Code gleich korrigieren könnte, da ich von javascript so gut wie keine Ahnung hab.
Herzliche Grüße
Benjamin

<html>
<body>
<!--
// pic0=new Image();
pic0.src="0.gif";
pic1=new Image();
pic1.src="1.gif"
pic2=new Image();
pic2.src="2.gif";
pic3=new Image();
pic3.src="3.gif";
var a,pic;
function tauschen(a,pic)
{window.document.images[a].src=pic.src;}
}
// -->
</script>
<div align="center"><center>
<table BORDER="2" CELLPADDING="8">
  <tr ALIGN="CENTER">
    <td><img NAME="images" SRC="0.gif" width="100" height="38"></td>
  </tr>
  <tr>
    <td ALIGN="CENTER" WIDTH="96"><big><a HREF="overpic/start.htm" ONMOUSEOVER="tauschen(a,pic0)"
    ONMOUSEOUT="tauschen(a,pic1)" >Eins</a></big></td>
  </tr>
</table>

</center></div><div align="center"><center>
<table BORDER="2" CELLPADDING="8">
  <tr ALIGN="CENTER">
    <td><img NAME="images2" SRC="2.gif" width="100" height="38"></td>
  </tr>
  <tr>
    <td ALIGN="CENTER" WIDTH="96"><big><a HREF="overpic/start.htm" ONMOUSEOVER="tauschen(a,pic2)"
    ONMOUSEOUT="tauschen(a,pic3)">Zwei</a></big></td>
  </tr>
</table>
</center></div>
</body>
</html>

  1. Bonsoir,

    da ich von javascript so gut wie keine Ahnung hab.

    das istja zunächst nicht schlimm! Wenn du aber schon Code aus SELFHTML kopierst - dann lies doch einfach mal den Text im zugehörigen Kapitel ;)

    // pic0=new Image();

    damit kommentierst du etwas wichtiges aus: das Instanziieren einer Klasse des Objektes image....dein Code kann so nicht funktionieren..

    Gruss Sven Schrodt

  2. <html>
    <body>
    <!--
    // pic0=new Image();
    pic0.src="0.gif";

    Ist das jetzt nur ein rumkopierfehler oder hast du da wirklich
    deinen einleitenden <script ...> Tag vergessen?
    Wenn ja, dann ist es kein Wunder, dass gar nichts funktioniert.

    Und dass du die Instanziierung von pic0 nicht auskommentieren
    solltest hat dier Sven ja schon gesagt.

    Gruß,
        Stefan

  3. <html>
    <head>
    <script type="text/javascript">
    <!--
    pic0=new Image();
    pic0.src="0.gif";
    pic1=new Image();
    pic1.src="1.gif"
    pic2=new Image();
    pic2.src="2.gif";
    pic3=new Image();
    pic3.src="3.gif";
    // var a,pic;
    // Das hier waren GLOBALE Variablen!!
    alert(document.images[0].src+"454");
    function tauschen(a,pic) {
     document.images[a].src=pic.src;
    }
    // -->
    </script>
    </head>
    <body>
    <a href="javascript:alert(document.images[0].src)">hjikhjhkkj</a>
    <a HREF="overpic/start.htm" ONMOUSEOVER="tauschen(0,pic1)" ONMOUSEOUT="tauschen(0,pic2)" >Eins</a>
    <img NAME="imag" SRC="0.gif" width="100" height="38">
    </body>
    </html>

    Ich war gerade selbst ein wenig erstaunt, dass alles nicht funktioniert hat.
    Hier die Fehler:
       - Die schon genannten (<script>, // new Image)
       - die bilder hiessen "images", wenn man dann nach document.images[1] fragt, dann meint er, man soll das erste Element des Bildes "images" nehmen, welches es natuerlich nicht gibt. Also: Obacht bei der Namensgebung!
       - Du musst schon angeben, welches Bild Du ändern willst: Nicht tauschen(a,pic0) sondern tauschen(1,pic0) ist richtig. Niemand weiss an der stelle was von der Variablen a.
       - Du hast die Variablen a und pic nochmal ausserhalb der Funktion deklariert mit var pic,a. Damit sind sie global bekannt. Wozu? Braucht niemand und stört nur.

    Und überhaupt: Warum so viele center-dinger? Wär das nicht einfacher auch gegangen?

    Naja. Ich hoffe, Du kommst zurecht

    Grüsse
    Konrad