Alexander Schmidt: mehrere mouseover

Hallo,

ich möchte gerne mehrere mouseover verwenden.

[...]
<script type="text/javascript">
Normal1 = new Image();
Normal1.src = "swgrafik.jpg";     /* erste Standard-Grafik */
Highlight1 = new Image();
Highlight1.src = "farbgrafik.jpg"; /* erste Highlight-Grafik */
[...]
Hier definiere ich die wechselnden Grafiken

[...]
<a href="../../../helferlein/index.htm"
   onmouseover="Bildwechsel(1, Highlight2)"
   onmouseout="Bildwechsel(1, Normal2)"><img src="sw.jpg"
   width="150" height="300" border="0" alt="Helferlein"></a>

Das ist ja soweit allseits bekannter html-Code entnommen von hier:
http://de.selfhtml.org/javascript/beispiele/buttons.htm

Nun möchte ich noch ein zweites onmouseover hinzufügen, dies mache ich durch ein Semikolon, also hinter  onmouseover="Bildwechsel(1, Highlight2)"
ein "   ;   " und setze das zweite onmouseover dahinter
Das klappt natürlich nicht :(

  1. Nun möchte ich noch ein zweites onmouseover hinzufügen, dies mache ich durch ein Semikolon, also hinter  onmouseover="Bildwechsel(1, Highlight2)"
    ein "   ;   " und setze das zweite onmouseover dahinter
    Das klappt natürlich nicht :(

    Der Attributwert von onmouseover enthält Javascript und da gehört die Trennung mittels Strichpunkt rein - die HTML-Syntax stimmt sonst natürlich nicht mehr.

    onmouseover="foo(); bar(); baz();"

    Nebst dessen ist deni Vorhaben etwas uncool - mit CSS-Sprites bist du wesentlich Flexibler bei deinem Vorhaben und langsames und unhandliches JavaScript und unnötig viele HTTP-Requests brauchst du auch nicht.

    http://www.alistapart.com/articles/sprites

    1. Danke soweit für die zahlreichen Hinweise.
      Vor allen der Link von suit hat mir sehr weitergeholfen.

      Ich behaupte nicht das die EDV heute unübersichtlicher ist als früher, da ja der Internet Bereich für die Massen ein noch sehr junger ist.

      Aber auch hier gibt es mehrere Möglichkeiten, die zum gleichen Ziel führen.

      Ich kann heute noch Websiten mit Frames gestalten, wenngleich es deutlich bessere Möglichkeiten gibt.

      Der Link: http://www.alistapart.com/articles/sprites hat mir etliche Anregungen gegeben und gezeigt das ich hier mein Wissen dringend in Richtung CSS deutlich erweitern muß.

      Somit konnte ich dank selfhtml gestern früher ins Bett und meine schlaflosen Nächte wegen meines Problems waren wie weggeblasen.

    2. Nebst dessen ist deni Vorhaben etwas uncool - mit CSS-Sprites bist du wesentlich Flexibler bei deinem Vorhaben und langsames und unhandliches JavaScript und unnötig viele HTTP-Requests brauchst du auch nicht.

      http://www.alistapart.com/articles/sprites

      Hallo,
      dieses Beispiel ist sehr gut, nun kommt aber ein großes ABER :)

      Denn wenn ich möchte das sich z.B. ein Infofeld am unteren Bildschirmrand öffnet, wenn man mit der Maus drüberfährt so geht das nicht.
      Dafür braucht man dann doch leider javascript.

      1. Om nah hoo pez nyeetz, Alexander Schmidt!

        Denn wenn ich möchte das sich z.B. ein Infofeld am unteren Bildschirmrand öffnet, wenn man mit der Maus drüberfährt so geht das nicht. Dafür braucht man dann doch leider javascript.

        Nein. Tooltips und Infofelder lassen sich auch ohne JS rein mit CSS realisieren. Dafür gibt es mehrere Möglichkeiten. Die meisten nutzen die Pseudoklasse :hover.

        Kurzer Anriss: <p>Hier ist der Text, der beim Überfahren das Infofeld öffnen soll. <span>Infotext</span></p>

        im css:

        p span {/zeige das span-element nicht im sichtbaren bereich an/} p:hover span {/zeige das span-element an der gewünschten Stelle an/}

        Welche Elemente man verwenden möchte, hängt natürlich von der konkreten Situation ab.

        Über "tooltip" oder "infobox" solltest du fündig werden.

        Matthias

        --
        http://www.billiger-im-urlaub.de/kreis_sw.gif
        1. Hallo Matthias,

          Danke für den Hinweis.
          Das klappt zwar (noch) nicht aber ich bin noch am Experimentieren.

  2. Mehrere Funktionen müssen innerhalb eines onmouseover-Attributs ergänzt werden, d.h.

    <tag onmouseover="Funktion1(); Funktion2();"></tag>

    Gruß, LX

    --
    RFC 1925, Satz 2: Egal, wie fest man schiebt, ganz gleich, wie hoch die Priorität ist, man kann die Lichtgeschwindigkeit nicht erhöhen.
    1. Mehrere Funktionen müssen innerhalb eines onmouseover-Attributs ergänzt werden, d.h.

      Nicht unbedingt - man kann auch einen funktionsaufruf notieren und diese Funktion dann weitere funktionen aufrufen lassen - das ist von Vorteil, wenn man sein HTML kürzer halten will oder die beiden funktionsaufrufe ohnehin direkt zusammengehören und imemr gemeinsam aufgerufen werden.

  3. Moin!

    Mein Raetselfrosch hat an seinem Rad gedreht und das ist auf dem Feld "Der Kandidat moechte mehrere Befehle in einem Mouseoverevent abfeuern." stehen geblieben.

    Ja. Das kann man ueber ein Semikolen machen: mouseover="tauschebild(); alert('mouseover')"

    Man kann es auch ueber eine Funktion machen: mouseover="machSachen()"

    function machSachen(){
     tauschebild();
     alert('mouseover');
    }

    Oder man laesst das gescripte im HTML gleich sein und bindet das Event per JS an das Element: <a id="dollerLink">Link</a>
    document.getElementById("dollerLink").onclick = function(){alert('KLICK')};

    --
    Vergesst Chuck Norris.
    Sponge Bob kann unter Wasser grillen!