Olaf: Bildwechsel an zwei Stellen der Seite

Beitrag lesen

Hallöchen,

wie muß man sich das Ganze denn vom Aufbau her vorstellen ? Soll es sich um zwei Grafik-Links handeln, bei denen wechselseitig beide Grafiken ausgetauscht werden oder soll es ein Grafik-Link sein, bei dem onmouseover die Link-Grafik geändert und irgendwo auf der Seite noch eine weitere Grafik geändert werden soll, die allerdings keine Link-Funktionalität besitzt ?

Wenn das zweite der Fall ist, hätte ich spontan eine Lösung, die auf jeden Fall beim Arbeiten mit Layern funzt:

Irgendwo auf der Seite ist der Grafik-Link und irgendwo anders auf der Seite wird die in einem Layer positionierte Grafik_A angezeigt, die bei onmouseover ebenfalls geändert werden soll. Es ist ein weiterer Layer mit denselben Koordinaten des Layers der Grafik_A zu definieren, der die Grafik_B enthält und dessen visibility auf hidden gesetzt wird. Der zweite Layer ist im Quellcode der Seite nach dem ersten Layer zu positionieren !

Im Head müssen dann drei Scripte untergebracht werden:

1.) Rollover-Script (Cross-Browser)

<!--

if (document.images) {
  image1 = new Image;
  image1a = new Image;
  image1.src = 'bild_1_normal.gif';
  image1a.src = 'bild_1_over.gif';
  image2 = new Image;
  image2a = new Image;
  image2.src = 'bild_2_normal.gif';
  image2a.src = 'bild_2_over.gif';
} //und so weiter ...
else {
  image1 = '';
  image1a = '';
  image2 = '';
  image2a = '';
  document.rollimg = '';
  document.rollimg1a = '';
  document.rollimg2a = '';
} // und so weiter ...

//-->

2.) Script für die Änderung der visibility von Layern © Eddie Traversa (nirvana.media3.net) - ebenfalls Cross-Browser

<!--

function toggleVisibility(id, NNtype, IEtype, WC3type) {
    if (document.getElementById) {
        eval("document.getElementById(id).style.visibility = "" + WC3type + """);
    } else {
        if (document.layers) {
            document.layers[id].visibility = NNtype;
        } else {
            if (document.all) {
                eval("document.all." + id + ".style.visibility = "" + IEtype + """);
            }
        }
    }
}

//-->

3.) Preloading für die Alternativ-Grafiken

Der Code für den ersten Grafik-Link sieht dann wie folgt aus:

<a href="irgendwo.html" onmouseover="document.rollimg1a.src=image1a.src;toggleVisibility('layer_grafik_b','show','visible','visible')" onmouseout="document.rollimg1a.src=image1.src;toggleVisibility('layer_grafik_b','hidden','hidden','hidden')">

Also bei den entsprechenden mouse-events einfach zwei Funktionen aufrufen !

Gruß :o)

Olaf