Struppi: REPOST: Schriftfarbe in Tabellenzelle ändern.

Beitrag lesen

Vielleicht noch ein bißchen was zum Sinn des ganzen:
Ich will in dem Menü dem Benutzer zeigen wo er sich gerade befindet und deswegen, soll der Link solange rot sein, bis ein anderer aufgerufen wird. Danach soll er wieder schwarz sein, geht also nicht mit link:visited. Bin aber für Alternativen dankbar.

Dazu musst du dir irgendwie merken, welcher Zustand gerade der aktuelle ist, das hat mit visited (wie du schon gemerkt hast) nichts zu tun.

Da ich gerade solch ein Problem hinter mir hatte, kann ich dir erstmal nur raten, lieber deine Seiten ordentlich zu markieren, statt den Menüpunkt, das ist einfacher. Wir habe dieses Projekt einfach gecancelt, da die Designerwünsche zu umfangreich wurden, um diese Site vernünftig zu erstellen (es beinhaltete noch mehr Schnick Schnack und die Designerin war nicht abzubringen von diesem überflüssigen Schrott).

########Funktion:
function linkin(id,target) {
document.getElementById(id).style.color = "#FF0000";
window.parent.frames[1].location.href = target;
}

########Funktionsaufruf
<td id="link_h1"><a href="home1.htm" onclick="linkin('link_h1','home1.htm');return false">Willkommen</a></td>

Besser (für dich, da einfacher zu warten) wäre es so:

<td id="link_h1"><a href="home1.htm" target="targetFrameName" onclick="linkin('link_h1');">Willkommen</a></td>

Da die Linkfunktion auch ohne JS funktioniert. Falls du darauf verzichten kannst, Netscape 4.x zu unterstützen (und ich rate dir das in diesem Falle),  geht es einfach so:

<td onclick="setColor(this);" ><a href="home1.htm" target="targetFrameName">Willkommen</a></td>

var old = null;

function setColor(obj)
{
if(old)
{
  // alten Zustand herstellen
  old.style.color = old.color;
  old = obj;
}
obj.old = obj.style.color;
obj.style.color = 'red';
}

struppi.