Free Faq: wie?: Allen Bildern einer FILE ein OnMouseOver zuweisen...

Hab das in etwa so versucht:

<SCRIPT>
function image(){
for(i=0;i<document.images.length;i++){
 document.images[ i].onMouseOver = 'style=border:"1 outset WHITE"';
 document.images[ i].onMouseOut = 'style=border:"0 none black"';
}
}
</SCRIPT>
<BODY onload="image()">

Aber es geht nicht :(

Ich hab ein grosses Dokument mit ca 50 Bildern und wenn ich bei jedem Bild son OnMouseOver und Out reins chreiben müsste, würde sich das File fasst verdoppeln! Deshalb wollte ich es so machen, das ich über ein Javascript allen Bildern diese MouseOver,... zuzuweisen, wie kann ich das amchen???

  1. Hi Du,

    <SCRIPT>
    function image(){
    for(i=0;i<document.images.length;i++){
    document.images[ i].onMouseOver = 'style=border:"1 outset WHITE"';
    document.images[ i].onMouseOut = 'style=border:"0 none black"';
    }
    }
    </SCRIPT>
    <BODY onload="image()">

    Ich würde mal folgende Sachen versuchen:

    • onmouseover statt onMouseOver schreiben
    • die Funktion nicht gerade wie ein bereits existierendes Objekt (bzw. "Konstruktor") nennen, auch wenn JS case sensitive ist
    • sollte als onmouseover nicht eine JS-Anweisung bzw. Funktion stehen? Gehen da einfach style-Angaben? Ist mir neu.

    Mirko

  2. Tach!

    <SCRIPT>
    function image(){
    for(i=0;i<document.images.length;i++){
    document.images[ i].onMouseOver = 'style=border:"1 outset WHITE"';
    document.images[ i].onMouseOut = 'style=border:"0 none black"';
    }
    }
    </SCRIPT>
    <BODY onload="image()">

    Das ist schonmal der richtige Weg. Aber was ist das fuer ein komisches Zeug, was hinter dem = steht? Das sind Strings. Du musst aber eine Funktionsreferenz zuweisen. Entweder schreibst Du also

    function onImageMouseOver() {
      // your code goes here,
      // aber bitte nicht den Quatsch, der da oben steht
    }

    und dann

    document.images[i].onMouseOver = onImageMouseOver;  // ohne Klammern!!

    oder gleich eine Funktion on the fly erzeugen:

    document.images[i].onMouseOver = new Function("/* your code here */");

    So long