JavaScript Farbe ändern von mehreren Objekten

hemorieder

Lieutenant
Registriert
März 2003
Beiträge
652
Hey,

ich hab folgendes Javascript:

Code:
function farbe(obj, farbe)
{
	document.getElementById(obj).style.backgroundColor = farbe;	
}

Der Aufruf erfolgt so:

HTML:
<a href="#" onmouseover="farbe('g50','#FF9')>Link</a>

Das klappt soweit wunderbar, das Objekt mit der id g50 kriegt eine andere farbe.

Jetzt will ich einfach, dass noch weitere Elemente diese Farbe kriegen. Also quasi so:
HTML:
<a href="#" onmouseover="farbe(array('g50','h49','o34'),'#FF9')>Link</a>

Wie realisiere ich das im Javscript ? Es sind übrigens mal 2 Elemente die eine neue Farbe kriegen, und mal 10 oder so.


Jemand eine idee ?

Lg
 
Du kannst das Event direkt wie du es gemacht hast im <a> Link definieren. Du referenzierst das Element nicht anhand seiner ID sondern das Element selbst, was mit this funktioniert.

HTML:
<a href="#" onmouseover="farbe(this, '#FF9')>Link</a>

Andersrum, möchtest du einfach alle Links oder Links in speziellen Bereichen, Klassen oder was auch immer ansprechen, dann kannst du das DOM bzw. die gewünschten Bereiche mit einer Schleife durchlaufen und das Event in der Schleife setzen.

HTML:
obj.onmouseover = function() { farbe(this, "color"); }

Die Funktion farbe() selbst sieht dann so aus:

Code:
function farbe(obj, farbe)
{
	obj.style.backgroundColor = farbe;	
}
 
Zuletzt bearbeitet:
irgendwie versteh ich das nicht ;) ich hab es jetzt mal so gemacht:

Code:
function farbe(obj, farbe) {
  for(var i=0; i<obj.length; i++)
    document.getElementById(obj[i]).style.backgroundColor = farbe;
}

der aufruf:

HTML:
<a href="#" onmouseover="javascript:farbe(["p2", "g5", "j6"]," #3d3d3d");">Link</a>


aber es passiert leider nichts! ne idee ?
 
Zuletzt bearbeitet:
Zurück
Oben