Dynamischer Bildwechsel mit JavaScript

Wie per rechts CSS geht es auch hier um den dynamischen Bildwechsel, der hier allerdings weiter gehend per JavaScript umgesetzt ist.
Der Aufruf per mouseover soll vereinfacht werden, und im Zweifel sollen auch mehrere Garfiken auf einmal geändert werden können

Entwickelt:

2010

Code:

HTML, CSS

Entwicklung:

Um beim Überfahren eines Links eine Grafik zu ändern, kann man ohne Weiters die gängige Lösung benutzen, wie sie zum Beispiel bei  selhhtml gezeigt wird.
Bei einer komplexeren Struktur der Menüführung, aber speziell bei einem dynamischen Auslesen der Seite z.B. per PHP und MySQL sollte man dieses Modell vereinfachen um auf komplizierte Abfragen verzichten zu können.

Status:

aktuell

Erklärung:

Die Kommentare sollten Erklärung genug sein,

Der Quellcode:

 und so siehts aus...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
 <meta http-equiv="Content-Type"
       content="text/html; charset=utf-8">
 <meta name="robots" content="index,follow">
 <meta name="author" content="Jörg Ahrens">
 <meta name="publisher" content="Jörg Ahrens">
 <meta name="copyright" content="Jörg Ahrens">
 <meta name="date" content="2010-09-04T10:00:00+02:00">

 <title>[Gueldensterns Bildwechsel per Javascript]</title>

 <script type="text/javascript">

  /*************************************
   Script von Jörg Ahrens
   www.gueldenstern-webdesign.de
   Fragen an:
   info@gueldenstern-webdesign.de
  *************************************/

  function Pix(NR,OB)
  {
   /*
   Durchsucht wird nur die erste Kind-
   element-Ebene und auch hier nur die
   zwei ersten Elemente.
   */
   var NodeType = 1;
   var SRC = NR;

   /*
   Es wird eine Grafik angesprochen, die
   außerhalb des Links liegt, zB. bei den
   Kästen (s. "Kontakt"). Dazu muss der
   betreffenden Grafik ein id zugeordnet
   werden.
   */
   if ( !SRC.src )
   {
    NodeType = 2;
    SRC = SRC.firstChild;
   }

   /*
   Der Knoten hat ein Textelement. Dabei
   handelt es sich wohl um ein Leer-
   zeichen und/oder einen Zeilenumbruch.
   */
   if ( !SRC.src )
   {
    NodeType = 3;
    SRC = SRC.nextSibling;
   }

   /*
   Das img-Element wird auch als zweites
   Element nicht erkannt und daher
   abgebrochen.
   */
   if ( !SRC.src )
   {
    NodeType = 0;
    return false;
   }

   /*
   in der src wird der absolute Link
   gespeichert. Daher muss das zusammen-
   fügen evt. angepasst werden.
   */
   SRC = SRC.src.split('.');

   if ( OB === 1 )
   {
    SRC = SRC[0]+'.'+SRC[1]+'.'+SRC[2]+'_hov.'+SRC[3];
   }
   else
   {
    SRC[2] = SRC[2].slice(0,-4);
    SRC = SRC[0]+'.'+SRC[1]+'.'+SRC[2]+'.'+SRC[3];
   }

   /*
   Schreiben der neuen src
   */
   if ( NodeType === 1 )
   {
    NR.src = SRC;
    return true;
   }

   if ( NodeType === 2 )
   {
    NR.firstChild.src = SRC;
    return true;
   }

   NR.firstChild.nextSibling.src = SRC;
   return true;
  }
 </script>
</head>
<body>
 <a href=""
    onmouseover="Pix(this,1);"
    onmouseout="Pix(this,0);">
   <img src="BW/btb.png" width="100" height="10">
     Bild links</a><br>
 <a href=""
    onmouseover="Pix(this,1);
                 Pix(document.getElementById('imgid'),1)"
    onmouseout="Pix(this,0);
                Pix(document.getElementById('imgid'),0)">
   <img src="BW/btb.png" width="100" height="10">
     Bild links & unten
 </a>
 <br>
 <br>
 <br>
 <a href=""
    onmouseover="Pix(document.getElementById('imgid'),1)"
    onmouseout="Pix(document.getElementById('imgid'),0)">
   Bild unten
 </a>
 <br>
 <br>
 <br>
 <a href=""
    onmouseover="Pix(document.getElementById('imgid'),1)"
    onmouseout="Pix(document.getElementById('imgid'),0)">
   <img id="imgid" src="BW/btb.png" width="100" height="10">
     Bild links
 </a>
</body>
</html>

Gueldenstern Webdesign ist Jörg Ahrens · 2-4 rue Victor Neuens · L-4266 Esch / Alzette
Sitemap · Impressum · © 2002-2012

GUELDENSTERN WEBDESIGN

Gueldenstern Webdesign

JÖRG AHRENS · ESCH / ALZETTE · LUXEMBURG ::  GESTALTUNG  ·  PROGRAMMIERUNG  ·  SERVICES