Hallo Adolfó,
ich habe ein Script welches sich beim onclick Event die Hintergrundfarbe rot darstellen soll.
Das wäre mit onClick="this.style.backgroundColor='red'" schon mal abgehandelt.
Ich weiß nicht wie ich die Farbe rot merken soll? Mein Problem ist wenn ich den nächsten click mache ist das nächste Feld auch rot aber es soll nur das letzte aktive Feld rot makiert bleiben.
Das brauchst Du Dir nicht zu merken. Mache einfach eine Abfrage:
for(i=0;document.getElementsByTagName('table')[0].getElementsByTagName('td')[i];i++)
{
if(document.getElementsByTagName('table')[0].getElementsByTagName('td')[i].style.backgroundColor=='red')
document.getElementsByTagName('table')[0].getElementsByTagName('td')[i].style.backgroundColor=='#ccc'
}
Oder aber speichere den Parameter "tab" in
function ChangeCol(tab,color,zustand)
{
document.getElementById('merke_dir').style.backgroundColor='#ccc';
var merke_dir=tab;
// [...]
}
ab!
Bei dieser Version ist beim onmouseout die Frabe rot wieder verschwunden. Mein Problem ist ich weiß nicht wie ich beim onmouseout die aktuelle Farbe merken soll und beim nächsten Klick wieder alle anderen wieder lösche?
Variablen sind anders als bei anderen Scripteleien in Javascript soetwas von global, das man sie einer Funktion nicht zu übergeben braucht. Dazu bedarf es dann einer zweiten Funktion, die var merke_dir nicht editiert:
function mouseoutColor(tab,color,zustand)
{
if(merke_dir==tab) document.getElementById('tab').style.backgroundColor='red';
else document.getElementById('tab').style.backgroundColor='#ccc';
Hoffentlich habe ich das alles richtig verstanden.
Gruß aus Berlin!
eddi