Dirk Ruchatz: onmouseover/out/click mit nur 2 Grafiken

Beitrag lesen

Moin Viktor,

So, so weit so gut. Da mein Provi eh nicht der aller schnellste ist,

das ist wohl die Untertreibung des Jahres! Ich jedenfalls mußte _sehr_ lange auf den Seitenaufbau warten...

// aktuellen Link kennzeichnen
// dazu alle Buttons gruen, dann
// Button gewaehlter Link rot

function gewaehlt(Bild)
{
   if (document.images)
   {
      for (i=0; i<document.images.length; i++)
       document.images[i].src = gruenImage.src;
       Bild.src = rotImage.src;
   }  
}

So ist es richtig, im Quelltext von http://134.2.52.70/viktor/test/ steht aber:

// aktuellen Link kennzeichnen
// dazu alle Buttons rot, dann
// Button gewaehlter Link rot

function gewaehlt(Bild)
{
   if (document.images)
   {
      for (i=0; i<document.images.length; i++)
       document.images[i].src = rotImage.src;
       Bild.src = rotImage.src;
   }  
}

Dadurch werden, wie Du ja selbst im Kommentar erwähnst, _alle_ Buttons rot, was ja wohl nicht Sinn der Sache ist! Bei Deinem Script wird natürlich durch onmouseout="statusaus(document.Bild2)" auch der gewählte Link wieder grün angezeigt, sobald die Maus bewegt wird. Um das zu verhindern, müsstest Du noch ein Variable einfügen, in der gespeichert wird, welcher Button gerade gerade gewählt ist und diese Variable statt if (Bild.src == ...) in StatusEin und StatusAus abfragen.

Das Ganze wird dann aber wohl doch etwas unübersichtlich, da dann jeweils _zwei_ Buttons rot sein können, nämlich der gerade gewählte und der über dem der Mauszeiger steht. Bei so kleinen Grafiken, wie Du sie verwendest, würde ich Dir empfehlen, doch lieber drei Grafiken zu benutzen!

Wenn Du die Bilder auf mehreren Seiten benutzt, befinden sie sich sowieso durch das Vorladen auf der Einstiegsseite schon im Browser-Cache und verursachen so keine weitere Ladezeit (selbst bei einem sooo langsamen Provider wie Deinem ;-)

Gruß
Dirk