Jo: Funktionen in JS vereinfachen

Mehre Bilder sollen durch ein Mouseover ersetzt werden

Beispiel:
         document.erg1.src = staron.src;
  document.erg2.src = staroff.src;
  document.erg3.src = staroff.src;
  document.erg4.src = staroff.src;
  document.erg5.src = staroff.src;

Nun ändern sich immer nur die Namen der Bilder, als statt erg1-5 steht dann zb. stim1-5.

Wie kann ich das in einer Funktion vereinfachen?
Ich würd mir vorstellen, daß man der Funktion den Namen des Bilder übergibt, aber wie füg ich den in das obige Beispiel als Variable ein??

Jo

  1. Seasn

    Beispiel:
             document.erg1.src = staron.src;
      document.erg2.src = staroff.src;
      document.erg3.src = staroff.src;
      document.erg4.src = staroff.src;
      document.erg5.src = staroff.src;

    for(i=2; i<=5; i++)
        document["erg"+i].src = staroff.src;

    Cya,

    Harry

  2. Hey jo!

    Mehre Bilder sollen durch ein Mouseover ersetzt werden

    Ich würd mir vorstellen, daß man der Funktion den Namen des Bilder übergibt, aber wie füg ich den in das obige Beispiel als Variable ein??

    So wie du es gesegt hast:

    function swap(image1, image2) {
       document.images[image1].src = image2.src;
    }

    http://www.teamone.de/selfhtml/tedg.htm

    lg bernhard

    1. Ups, zu schnell geschossen!

      function swap(image1, image2) {
         document.images[image1].src = image2.src;
      }

      das stimmt schon, nur ergänzend der Aufruf:
      image1 muss ein String sein,
      image2 muss ein JS-Image-Objekt sein!

      Bsp: <img ... onMouseover="swap('ereg1',staroff);" ...>

      Denn für image2.src muss ein JS-Oblekt übergeben werden. Sonst weiss der Browser mit dem src-Property nix anzufangen :-(

      An den src-Wert eines Image-Objekts kannst du auf verschiedene Arten gelangen z.b.:

      1. document.images[0].src
      2. document.images['name_des_bildes'].src

      Beide sind gleichwertig, falls das erste (!) Bild in deiner HTML-Datei den Namen "name_des_bildes" hat. Aber wie das geht steht eigentlich eh in Selfhtml!

      lg bernhard