Section Wechsel=Neues Navi Bild

nreo

Grünschnabel
Code:
<img src="images/menu/menu_news.gif" border="0"  
onMouseOver="this.src = 'images/menu/menu_news_on.gif';"   
onMouseOut="this.src = 'images/menu/menu_news.gif';">

so sieht es bisher aus.
nur möchte ich wenn ich den button anklicke das er durch ein sozusagen "aktiven button" andere farbe oderso... ersetzt wird. wenn ich dann eine andere section "button" anklicke soll der als "aktiv" gesetzt werden.

hoffe ihr versteht was ich meine.

mfg nreo
 
Also eigetlich sollte das gehen hab es ja selber schon ausprobiert...
Hast du mal geguckt ob ein Syntaxfehler drin ist?

Kannst du mal den Code für das onclick posten ?

Gruß

RedWing
 
Mhm dann weiß ichs auch nicht...
Lass dir mal mit window.alert die img.src ausgeben und die width dazu
Musst dich halt irgendwie durchbuggen.

Als zweite Variante vielleicht bei onLOad alle Bilder schonmal in den Browsercache vorladen, vielleicht liegts daran.

Gruß

RedWing
 
Hallo...

dazu musst du in irgendeiner Art mehrere Dinge speichern.

Zum einen, sobald ein Button angeklickt wird, denselben als Objekt.... damit du verhindern kannst, dass er
beim Onmouseover/onmouseout geändert wird.

Zum anderen die ursprüngliche src aller Buttons im inaktiven Zustand... um beim Klicken auf einen Button dem bis dahin
aktiven Button das inaktive Aussehen zurückgeben zu können.


Das könnte so aussehen:
Aufruf der dies bewerkstelligenden Funktion in den Buttons

Code:
<img src="images/menu/menu_news.gif" border="1"
onMouseOver="knoepfli(this,'menu_news_on',0);"
onMouseOut="knoepfli(this,'menu_news',1);"
onClick="knoepfli(this,'menu_news_active',2);">

... die Funktion "knoepfli():-)" erwartet dabei 3 Parameter:
  1. this (das Bild selbst als Objekt)
  2. Dateiname des beim entsprechenden Event anzuzeigenden Bildes(ohne Pfad und Dateiendung)
  3. Kennung für den Event...0=>over,1=>out,2=>click


Das dazugehörige Skript :

Code:
<script type="text/javascript">
<!--
//Hier wird später jeweils der aktive Button als Objekt gespeichert
objActive   =false;

//Pfad zum Grafik-Verzeichnis
strImgPath  ='images/menu/';

//Dateityp der Grafiken
strImgType  ='.gif';

function knoepfli(objImg,strSrc,intEvt)
{

//Beim onmouseover wird dem "name"-Attribut des <img> der Dateiname zugewiesen
if(intEvt==1)
    {
    objImg.name=strSrc;
    }

//Beim Onclick wird in der Variablen "objActive" das auslösende <img> als Objekt gespeichert.
//Dem bis dahin aktiven Button wird seine Ursprungs-src zurückgegeben
if(intEvt==2)
    {
    if(objActive!=objImg)
        {
        objActive.src=strImgPath+objActive.name+strImgType;
        }
    objActive=objImg;
    }

//Beim Onclick, oder wenn der auslösende Button nicht aktiv ist, wird ihm die entsprechende src zugewiesen
if(objActive!=objImg||intEvt==2)
    {
    objImg.src=strImgPath+strSrc+strImgType;
    }
}
//-->
</script>
 
Zuletzt bearbeitet:
ne geht leider nicht wenns zuende geladen ist, also die seite, dann ist wieder das alte bild wieder da...
 
Ich hab keine Ahnung, was du damit meinst.... der Onload-Event manipuliert nicht selbsttätig Seitenelemente.... es sei denn, du hast für diesen Event etwas definiert, was dies tut.

Abgesehen davon ist das Laden der Seite ja irgendwann mal abgeschlossen,.... was passiert dann, wenn du auf einen Link klickst:rolleyes:
 

Neue Beiträge

Zurück