[JavaScript] Hintergrundfarbe von Tabellenzellen ändern

bitfunker

ewohner
Registriert
Okt. 2001
Beiträge
18.283
[html/js]

Ich habe eine Tabelle mit Textlinks (jede Zelle einer) als Navigationsleiste. Ist es möglich, dass bei MouseOver und bei aktivem Link die Tabellenzelle die Hintergrundfarbe wechselt? Die Backround-farbe solte sich auch wieder zurücksetzen, wenn man einen anderen Link in der Navi anklickt.
Per .css hab ich nur geschaftt, den Links selber eine Hintergrundfarbe zuzuweisen, aber das sieht net so gut aus.
 
die Hintergrund-Farbe wirst du per JS nicht ändern können, wenn, dann müsstest du schon das ganze als eine Grafik machen
 
Klar funktioniert Deine Idee - im Prinzip analog zu jedem anderen Hover-Effekt in JavaScript.

D.h. in etwa so:
Code:
...
<script...>
   var aktiv_farbe = "#FF0000";
   var inaktiv_farbe = "#00FF00";

    function setz_aktiv(element)
   {
         document.all[element].style.backgroundColor = aktiv_farbe;
         // bin mir net sicher, ob "style" oder "styles" ... TESTEN!
   }

    function setz_inaktiv(element)
   {
         document.all[element].style.backgroundColor = inaktiv_farbe;
         // bin mir net sicher, ob "style" oder "styles" ... TESTEN!
   }
</script>
...

...
<td id="zelle1"><a href="xyz.html" onmouseover="setz_aktiv('zelle1')" onmouseout="setz_inaktiv('zelle1')">hier klicken</a></td>
...
 
ich Depp :)

naja ich habe schon ewig nicht mehr geJSt ;)
 
Sodele. einen Schritt weiter bion ich, aber außer dem Tabellenhintergrund soll sich auch noch ein Bild in der Tabelle obendrüber ändern; kurz gesagt, der Code sieht so aus:
<td width="80" valign="top" id="zelle1">
<a href="../EC%20V.3/news.htm" target="main" onmouseover="setz_aktiv('zelle1')" onmouseout="setz_inaktiv('zelle1')" onClick="MM_nbGroup('down','group1','news','../EC%20V.3/_nav/b_on.gif',1)" onMouseOver="MM_nbGroup('over','news','../EC%20V.3/_nav/b_on.gif','',1)" onMouseOut="MM_nbGroup('out')">news</a>
</td>
Darf man zwei mouseover- bzw. mouseout-Funktionen in einen Tag schreiben?
 
Original erstellt von b-runner
Darf man zwei mouseover- bzw. mouseout-Funktionen in einen Tag schreiben?
Nein, zwei getrennte Eventhandler sind nicht erlaubt. Du kannst aber beide
Funktionsaufrufe in EINEN gemeinsamen Handler packen.

Das sieht dann in Deinem Fall so aus:
Code:
<td width="80" valign="top" id="zelle1"> 
<a href="../EC%20V.3/news.htm" target="main" onmouseover="setz_aktiv('zelle1'); MM_nbGroup('over','news','../EC%20V.3/_nav/b_on.gif','',1);" onmouseout="setz_inaktiv('zelle1'); MM_nbGroup('out');" onClick="MM_nbGroup('down','group1','news','../EC%20V.3/_nav/b_on.gif',1)">news</a> 
</td>
Give it a try!
 
Zuletzt bearbeitet:
Schwuppdiwupp und noch einmal ich...
Also, nach etwas Frickelei ist die neue Version meines Projekts nun online, aber ganz zufrieden bin ich noch nicht. Ich hätte das gerne so, dass die jeweilige Zelle solange den blauen Hintergrund behält, bis man in der Navigation auf einen anderen Link klickt, d.h. die Zellen sind dann blau, wenn die "Schalter" obendrüber geschlossen sind. (= Button)
Ich habe schon probiert, das Schalter-Script auf das Zellenscript zu adaptieren, aber da hatte ich noch keinen Erfolg. Mit .css-Dfeinition wird nur der Texthintergrund blau.
Hier der Link zur Site http://home.arcor.de/electricafe/home.htm. Ich will damit 'türlich keine Klicks sammeln, deshalb übergehe ich den Couter auf der Startseite!
 
Kann sich bitte doch nochmal jemand meiner Frage annehmen, so halb fertig sieht das ganze nicht besonders gut aus?
Vielen Dank im Voraus!
 
Der Text-BG bleibt ja schonmal blau, von daher sollte es funzen, wenn Du statt dem Texthintergund einfach den Zellenhintergrund veränderst.
Code:
         document.all[zellenname].style.backgroundColor = blaue_farbe;
 
Code:
document.all[zellenname].style.backgroundColor = blaue_farbe;
Wo muss ich das einsetzten? Sorry, aber ich bin halt ein JS-Noob, möchte aber die Site fertig bekommen! THX!

Übrigens: Forumbase ist schon seit Monaten bei uns verlinkt, sozusagen als kleines Dankeschön...
 
Zuletzt bearbeitet:
hmm...also ich hab von dem ganzen zeugs ja gar keine ahnung...aber wollt mal meinen dummen nöhl dazu geben. die navleiste ist, meine meinung, echt geil. macht wirklich einen guten. was mir noch aufgefallen ist, wenn du oben die schaltersymbole überfliegst wäre es doch nicht schlecht, wenn unten das kästchen dann auch blau wird..oder?

ist keine kritik...nur eine anmerkung. wie gesagt hab ich von dem zeug keine ahnung und es sieht schon super aus.
 
Original erstellt von b-runner
Code:
document.all[zellenname].style.backgroundColor = blaue_farbe;
Wo muss ich das einsetzten? Sorry, aber ich bin halt ein JS-Noob, möchte aber die Site fertig bekommen! THX!
Das fügst Du überall da ein, wo der Background des Textes auf "farbig" gesetzt wird. Müsse ne Funktion sein, die in einem OnClick()-Handler aufgerufen wird.
(Sorry dass ich Deine PM nicht beantwortet habe - war jetzt ne Woche auf Lehrgang und daher net zu Hause, und hab zur Zeit etwas wenig Zeit)
 
Zurück
Oben