Hintergrundbild tauschen
    
 HomeBilderCSS • Hintergrundbild tauschen Code CSS-Version  Code Script-Version

  Hintergrundbild tauschen bei MouseOver

Dass man die Hintergrundfarbe mit CSS (z.B. bei Mouseover) tauschen kann, habe ich in einem anderen Beispiel erklärt. Hier demonstriere ich den Tausch einer Hintergrundgrafik.
MouseOver tauscht die Hintergrundgrafik - JavaScript setzt CSS-Werte

Aufgabenstellung:

Bei MouseOver soll die Hintergrundgrafik eines Seitenelements ausgetauscht werden. Anwendung findet diese Technik in Menüs, als Hover-Effekt für Textlinks oder wie im Beispiel rechts zur Hervorhebung.
Wechsel der Hintergrundgrafik

Das kann aus Gründen der besseren Lesbarkeit so beabsichtigt aber auch zur Hervorhebung für 'Mitleser' ganz praktisch sein.



   1) Hintergrundbild mit CSS-Anweisungen tauschen

Nur zur Demo des Prinzips tausche ich hier die Hintergrundgrafik eines Textlinks, der die Unterklasse 'graf' hat:

  Textlink mit Hintergrund    zum Speichern
Grafiken rechtsklicken


<a class="graf" href="#">  Textlink mit Hintergrund</a>
Die CSS-Anweisungen dazu wurden im Head der HTML-Datei notiert:
a.graf:link, a.graf:visited
{
color:#000000;
font-size:11px;
width:90px;
background-image:url(images/bg12.gif);
}

a.graf:hover, a.graf:focus, a.graf:active
{
color:#000000;
font-size:11px;
width:90px;
background-image:url(images/bg13.gif);
}

Notiz:

Für Navigationsleisten oder vertikale Menüs wird diese Technik ebenfalls häufig eingesetzt. Ein Beispiel nach diesem Prinzip finden Sie unter "Menütechniken"




   2) Hintergrundbild mit JavaScript tauschen

JavaScript setzt CSS-Wert für Hintergrundgrafik

Hier setze ich ein JavaScript ein, dass die Style-Eigenschaften eines Seitenelements bei einer bestimmten Aktion (MouseOver, MouseOut, ...) neu festlegt. In den jeweiligen Funktionen wird festgelegt, welche Hintergrundgrafik angezeigt werden soll.

:: Textlink Hintergrund::
Das Seitenelement ist hier eine
Tabellenzelle mit der ID 'zelle'.
<table><tr><td id="zelle">
<a href="#"> :: Textlink :: </a>
</td></tr></table>
Im Link werden die JavaScript-Funktionen nach diesem Schema aufgerufen
<a onMouseOver="javascript:Hintergrund01()" onMouseOut="...
Beispiel einer Funktion:
function Hintergrund01() {
document.getElementById('zelle').style.backgroundImage="url('grafik.gif')";
}
Der Vorteil der JavaScript-Lösung liegt darin,
  1. dass mehr als 2 unterschiedliche Grafiken angezeigt werden könnten, wenn entsprechend viele Funktionen definiert sind.

  2. dass unterschiedliche Anlässe (Events) die entsprechende Funktion für den Tausch auslösen könnten: OnMouseOver, OnMouseOut, OnClick, OnMouseDown, ...

  3. dass der Tausch der Hintergrundgrafik nicht auf den Link beschänkt ist sondern für irgendein Element der Seite die Hintergrundgrafik ausgetauscht werden kann.
Download der Grafiken:

   

Grafiken zum Speichern RechtsKlicken



   Anwendungsbeispiel zur Technik 1

Umsetzung des Grafiktausches mit CSS

 30.08.2007, neues Beispiel als Demo

Impressum - Überschrift als Link

Für die Nutzung der in den Seiten der Web-Toolbox aufgezeigten Beispiele und deren fehlerfreie Funktion wird keine Haftung übernommen. Der Benutzer ist für eventuell entstehende Schäden alleine und selbst verantwortlich.

Die Beispiele und Scripte auf den Seiten der Web-Toolbox stehen zur Verwendung innerhalb privater und kommerzieller HTML-Projekte für folgende Anwendungsbereiche bereit, soweit Sie nicht als Angebot eines Archivs oder zur Weitergabe als Sammlung angeboten werden.

  • eigene HTML-Projekte (auch auf Datenträgern)
  • HTML-Projekte für Dritte (auch auf Datenträgern)
  • eigene Webseiten oder Webseiten für Dritte
  • private oder kommerzielle Webseiten / Projekte
  • kostenlose Arbeiten oder Arbeiten gegen Entgelt


Impressum weiterlesen

       Beispiel für die farbliche Hervorhebung einer Tabellenzelle

Für die gesamte Tabellenzelle ist ein Farbwechsel vorgesehen.

Der Farbwechsel wird hier (anders als im Beispiel oben) allerdings nicht beim Überfahren des Textes selbst aktiviert, sondern nur dann, wenn einer der beiden Textlinks mit dem Mauszeiger angesteuert wird.

Hier wurde für die Tabellenzelle eine Hintergrundgrafik festgelegt, die bei MouseOver ausgetauscht wird.

Bei MouseOut wird die vorherige Hintergrundgrafik wieder eingesetzt.

Im Vordergrund der Tabellenzelle wird ein Text angezeigt.


Download der Grafiken (350 x 600 Pixel):

Grafik 1 - bg02a.gif

Grafik 2 - bg02b.gif

(neues Browserfenster) Grafiken zum Speichern RechtsKlicken


CSS-Formatierung der Tabellenzelle
(<td style=" " ... )

padding:5px;
padding-left:10px;
padding-right:10px;
border-right:1px solid #9595BF;
border-bottom:1px solid #9595BF


Hintergrundbild einer Tabellenzelle mit der ID 'textzelle'.

<td background="bg02a.gif" id="textzelle" ... >
Der Link:
<a
onMouseOver="javascript:TextZelle01()"
onMouseOut="javascript:TextZelle02()"
href="javasript:void(0)"> weiterlesen ... </a>
Die Funktionen:
function TextZelle01() {
document.getElementById('textzelle').style.backgroundImage="url('bg02a.gif')";
}

function TextZelle02() {
document.getElementById('textzelle').style.backgroundImage="url('bg02b.gif')";
}



   Kommentar

Es hat mich einigen Schweiß und viel Zeit gekostet herauszufinden, dass
die beiden Notierungen unten nicht oder nicht überall funktionieren.
Lediglich die Notierung oben, mit 2 Paaren von Anführungszeichen ist gültig.

document.getElementById('textzelle').style.backgroundImage='grafik.gif';

document.getElementById('textzelle').style.backgroundImage=url('grafik.gif');



   Anwendungsbeispiel zur Technik 2

Umsetzung des Grafiktausches mit JavaScript

Von der Möglichkeit im Vordergrund der Tabellenzelle einen Text oder eine (transparente) Grafik anzuzeigen (worin der eigentliche Sinn der Anwendung liegt) habe ich hier keinen Gebrauch gemacht.


:: Textlink :: :: Textlink :: :: Textlink ::
Bildquelle:

pixelio.de


Die Grafik ist ein Hintergrundbild einer Tabellenzelle mit der ID 'frankfurt'.

<td background="images/bg-frankfurt-00.gif" id="frankfurt" ... >

<a onMouseOver="javascript:Frankfurt01()" href="javasript:void(0)"> :: Textlink :: </a>
<a onMouseOver="javascript:Frankfurt02()" href="javasript:void(0)"> :: Textlink :: </a>
<a onMouseOver="javascript:Frankfurt03()" href="javasript:void(0)"> :: Textlink :: </a>
<script type="text/javascript" language="JavaScript">
<!-- Begin

function Frankfurt01() {
document.getElementById('frankfurt').style.backgroundImage="url('frankfurt-01.gif')";
}

function Frankfurt02() {
document.getElementById('frankfurt').style.backgroundImage="url('frankfurt-02.gif')";
}

function Frankfurt03() {
document.getElementById('frankfurt').style.backgroundImage="url('frankfurt-03.gif')";
}

//  End -->
</script>



12.01.2006   

NACH OBEN