Hallo Liebe Javascriptler ;-)
Bin leider neu hier, programmiere aber schon seit Jahren mit PHP. Habe im I-Net n kleines Script gefunden um TRs bzw. TDs mittels Javascript bei einer OnMouseOver Funktion farbig zu ändern... Klappt auch wunderbar, jedoch wenn ich die Funktion mit Mozilla Firefox (V3xxx) verwende, tritt folgender Fehler auf:
Wenn ich von einer markierten <tr> bzw <td> senkrecht die Mouse hoch in die obere oder untere <tr> bzw <td> bewege, färbt sich der komplette Hintergrund außerhalb der Tabelle in die "OnMouseOver-Farbe"... Wenn ich davor die Maus seitlich aus der Zeile bewege und dann in die unmarkierte Zeile bewege, treten keine Fehler auf...
Hier das JS Skript:
var highlightbehavior="TR"
var ns6=document.getElementById&&!document.all
var ie=document.all
function changeto(e,highlightcolor){
source=ie? event.srcElement : e.target
if (source.tagName=="TABLE")
return
while(source.tagName!=highlightbehavior && source.tagName!="HTML")
source=ns6? source.parentNode : source.parentElement
if (source.style.backgroundColor!=highlightcolor&&source.id!="ignore")
source.style.backgroundColor=highlightcolor
}
function contains_ns6(master, slave) { //check if slave is contained by master
while (slave.parentNode)
if ((slave = slave.parentNode) == master)
return true;
return false;
}
function changeback(e,originalcolor){
if (ie&&(event.fromElement.contains(event.toElement)||source.contains(event.toElement)||source.id=="ignore")||source.tagName=="TABLE")
return
else if (ns6&&(contains_ns6(source, e.relatedTarget)||source.id=="ignore"))
return
if (ie&&event.toElement!=source||ns6&&e.relatedTarget!=source)
source.style.backgroundColor=originalcolor
}
Und hier die HTML:
<html>
<head><title>Eine Site</title>
<script type="text/javascript" src="./highlight_tr.js"></script>
</head>
<body>
<center>
<table onMouseover="changeto(event, '#d3bf13')" onMouseout="changeback(event, 'white')">
<tr><td>Hier befindet die erste Zeile</td></tr>
<tr><td>Hier befindet sich die zweite Zeile</td></tr>
</table>
</center>
</body>
</html>
Da ich mit Javascript nicht viel am Hut habe und eig da auch nicht unbedingt recht viel tiefer eindringen will, wäre ich euch sehr dankbar wenn ihr mir beim Debuggen helfen könntet. Herzlichen Dank,
MFG:
PsYcHo232