Menu: Aktiven Link hervorheben...

DinoB

Grünschnabel
Hallo,
ich verzweifle bald.
Folgendes Problem:
Ich habe ein Menu erstellt, das den Hintergrund des jeweils aktiven Menupunktes hervorhebt.
Nun will ich per JavaScript den geklickten Menupunkt aktiv lassen.
Mit meinem geschriebenen Script, bleiben alle geklickten aktiv, das heißt also, es ist möglich .3,4,5 aktive Menupunkte zu haben.
Diese werden erst gelöscht wenn ich wieder mit der Maus über das Menu fahre.
Der Code:
Code:
<script language="JavaScript">

function update(what, action)
{
  bgmouseover= '#FFF0BD';
  bgnormal   = '#FFD503';
  if (action==0)  what.style.background=bgmouseover;
  if (action==1)  what.style.background=bgnormal;
  if (action==3)  
  {
//     if (clicked!="") clicked.style.background=bgnormal;
     clicked=what;     
  }
  clicked.style.background=bgmouseover;
}

Der Link:

Code:
<tr><td class=\"border-white\" bgcolor=\"#FFD503\" style=\"cursor:hand\" onMouseOver=\"update(this,0)\" onMouseOut=\"update(this, 1)\" onClick=\"parent.content.location.href='content.php?content=products&produktgruppe=$shortdesc'; update(this,3);\"><a href='content.php?content=products&produktgruppe=$shortdesc' target=content><font size=-1>$shortdesc</a></td></tr>

Seht selbst:
Problemseite
Es geht um das Menu auf der Linken Seite.

Das selbe möchte ich dann oben machen mit den Grafiken, aber da habe.
Das obere Menu ist komplett mit Grafiken gemacht, also:
Der Code aus Dreamweaver MX:
Code:
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i ])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i ].indexOf("#")!=0){ d.MM_p[j ]=new Image; d.MM_p[j++].src=a[i ];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i ][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i ].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i ]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>

Die Links:
Code:
<td width=129><a href="content.php?content=muster" target="content" onMouseOver="MM_swapImage('muster','','../images/jpg/muster_high.jpg',1)" onMouseOut="MM_swapImgRestore()"><img src="../images/jpg/muster_low.jpg" name="muster" width="129" height="16" border="0"></a></td>

Wie kann ich jetzt die jeweiligen Menupunkte aktiv markieren?

Vielen Dank für Eure Hilfe, ich bin da leider noch nicht so fit!
 
Zuletzt bearbeitet von einem Moderator:
Einfach eine globale Variable setzten, in der z.B. die ID des aktiven Links gespei-
chert wird.

Dann beim aktivieren die Variable überprüfen und ggf. wieder auf`s alte Bild zu-
rücksetzen.

Beim mouseOver natürlich auch die Variable beachten.
 

Neue Beiträge

Zurück