Rollover Buttons
    
 HomeTipps • Mouseover-Grafik Demo  Quelltext   Download

  keine Langeweile - wenig Aufwand

Eine grafische Menüleiste muss nicht langweilig sein. Abhängig von Seiteninhalt und Farbgebung kann man seinen Phantasie freien Lauf lassen. Wenn man dann noch mit einer MouseOver-Funktion arbeitet, bringt man 'Action' in die Seite.

MouseOver-Grafiken - eine für Alle

Ich demonstriere hier, wie man für MouseOver-Funktionen mit nur einer einzigen alternativen Grafik auskommen kann. Mein Beispiel ist für 100 × 75 Pixel große Grafiken ausgelegt, die immer noch innerhalb einer Tabelle stehen. Demnächst veröffentliche ich ein Anwendungsbeispiel ohne Tabellentechnik (<div>).


a)  Variante 1 - MouseOver-Grafiken - eine für Viele

Leider ist der Aufwand recht groß, für jede verwendete Grafik ein eigenes MouseOver-Bildchen herzustellen. Das kann man sich erleichtern, setzt man jedesmal die gleiche Grafik ein.

Beispiel 01 - identische MouseOver-Grafiken


Beispiel 02 - identische MouseOver-Grafiken


(Nicht nur) anwendbar auf Bildserien mit gleichem Motiv.



b)  Variante 2 - MouseOver-Grafiken - eine für Alle

Der Aufwand ist schon geringer aber immer noch recht groß. Besonders dann, wenn man solche Grafiken als anklickbaren Blickfang (Eyecatcher) auf jeder Seite verwenden möchte und die Grafiken und Fotos häufig wechseln. Man wäre ja gezwungen, für jedes Piktogrammserie eine entsprechende (Negativ-)Grafik herzustellen. Diesen Aufwand kann man sich ersparen, setzt man z.B. eine Rastergrafik ein, die bei MouseOver über die Grafik gelegt wird:




einsetzbare, transparente MouseOver-Grafiken

Ich habe diese 100 × 75 Pixel großen Grafiken für Sie hergestellt. (rechtsklicken zum Download)

raster
schwarz
raster
weiß
diagonal
grau
diagonal
schwarz
diagonal
weiß

MouseOver für eine Demo




   Funktion

Die Darstellung der 100 × 75 Pixel großen Grafiken erfolgt (in diesem Anwendungsbeispiel noch) innerhalb einer Tabelle!

a) im Hintergrund einer Tabellenzelle steht die eigentliche Grafik (Foto, Symbol, ...)
b) im Vordergrund der Tabellenzelle eine transparente Grafik

In einer Tabellenzelle wird die anzuzeigende Grafik als Hintergrundbild notiert. Als Inhalt der Tabellenzelle wird eine transparente Grafik mit identischen Angaben für Höhe und Breite eingetragen. Die transparente Grafik dient als Verweisfläche für einen anklickbaren Link.

Diese transparente Grafik wird bei MouseOver / MouseOut ausgetauscht!
Es werden 2 Funktionen eingesetzt. Die erste tauscht die transparente Grafik gegen eine Rastergrafik, die zweite tauscht die Grafiken wieder zurück.

(bewegen Sie den Mauszeiger über die Grafik links)

Bei MouseOver wird die Funktion "Ein02()" bei MouseOut wird die Funktion "Aus02" aufgerufen. Die Überwachung dieser Ereignisse geschieht mit den Eventhandlern OnMouseOver bzw. OnMouseOut. Der Name der auszutauschenden Grafik wird dabei der Funktion als Parameter übergeben.

OnMouseOver="Ein02('Name der Grafik');"
OnMouseOut="Aus02('Name der Grafik')">
Damit man die transparenten Grafiken (für JavaScript ein Bild-Objekt) gezielt ansprechen kann, muss daher für jede auszutauschende Grafik ein Name vergeben werden.

<img name="Bild01" src="transpixel.gif" width="100" height="75" border="0" alt="">
Der Einfachheit halber (und damit ich die Übersicht behalte) nummeriere ich die Grafiken einfach durch. Die Objektnamen für die Grafiken innerhalb der Links habe ich hier mit 'Bild01', Bild02, Bild03, ... festgelegt.

 Jeder Name darf innerhalb einer HTML-Seite nur einmal vergeben werden!




1  im HEAD-Bereich

Zuerst werden die Grafiken bekannt gemacht, bekommen einen eindeutigen Namen und werden vorab geladen. Dann folgen die Funktionen zum Austausch bei MouseOver und MouseOut.

<script type="text/javascript" language="JavaScript">
<!--

// Standard-Grafik (transparent)
normal02 = new Image();
normal02.src = "transpixel.gif";

// Highlight-Grafik (diagonal weiss)
over02 = new Image();
over02.src = "grafik-diagonal03.gif";


function Ein02(GrafikName) {
// GrafikName - Name des auszutauschenden Bildes
document.images[GrafikName].src = eval('over02.src')
}

function Aus02(GrafikName) {
// GrafikName - Name des auszutauschenden Bildes
document.images[GrafikName].src = eval('normal02.src')
}

//-->
</script>




2  Grafiken als Link im BODY-Bereich

Bei MouseOver bzw. MouseOut wird die Funktion "Ein02()" bzw "Aus02" aufgerufen. Die Überwachung dieser Ereignisse geschieht mit den Eventhandlern OnMouseOver bzw. OnMouseOut. Der Name der auszutauschenden Grafik wird der Funktion als Parameter übergeben.

<table><tr>
Verweis in Tabellenzelle 1
<td background="grafik01.gif">
<a href="fenster.htm" target="_blank"
OnMouseOver="Ein02('Bild01');"
OnMouseOut="Aus02('Bild01')">
<img name="Bild01" src="transpixel.gif" width="100" height="75" border="0" alt="">
</a>
</td>
Verweis in Tabellenzelle 2
<td background="grafik02.gif">
<a href="fenster.htm" target="_blank"
OnMouseOver="Ein02('Bild02');"
OnMouseOut="Aus02('Bild02')">
<img name="Bild02" src="transpixel.gif" width="100" height="75" border="0" alt="">
</a>
</td>
So können Sie diese Leiste ganz einfach erweitern, indem Sie diese Logik weiterführen. Erweitern Sie die Tabelle um zusätzliche Tabellenzellen, wobei Sie bei den Objektnamen der Grafiken (Bild01, Bild02, Bild03, ... ) die durchgehende Nummerierung fortsetzen und die entsprechenden Ziffern eintragen.
</tr></table>



   Beispiel Einsatzbereich

Beispiel Eyecatcher als Link

  Weit hinten, hinter den Wortbergen, fern der Länder Vokalien und Konsonantien leben die Blindtexte. Abgeschieden wohnen Sie in Buchstabhausen an der Küste des Semantik, eines großen Sprachozeans.