Hi!
Ich arbeite gerade an einer neuen Seite und habe ein Problem. Es wäre jetzt zu langwierig, alles im Einzelnen zu erklären, deshalb hier die Kurzform: Auf dieser Seite gibt es eine relativ große Tabelle mit abkekürzten Überschriften. Wenn man mit der Maus über diese fährt, wird ein DIV-Tag sichtbar gemacht (der sich entsprechend den Mausbewegungen ebenfalls bewegt) und dessen Inhalt zu einem Beschreibungstext geändert. Funktioniert auch wunderbar mit IE4,IE5 und NS4. NS6 macht aber Probleme. Er ändert zwar den Inhalt und macht den div auch sichtbar, aber irgendwie funktioniert das mit dem Abfragen der Mausposition nicht.
das Einfangen des onMousemove-Events geht beim NS6 genauso wie beim NS4. Allerdings sollte Du onMousemove erst dann aktivieren, wenn Deine Seite vollstaendig geladen ist. Z.B. so:
function init()
{
window.document.onmousemove = moveHandler;
}
window.onload.init;
Deine Seite trotzt naemlich nur so von Javascript-ERRORS wenn die ToolTips aufgerufen werden, waehrend die Seite noch am laden ist.
Wenn „ref“ Deine Reference auf Deine ToolTip-Division ist und mouseXpos Deine aktuelle Mouse-Position, dann positionierst Du bei NS4 mit:
ref.pageX = mouseXpos;
oder
ref.left = mouseXpos;
oder
ref.moveTo(mouseXpos,mouseYpos);
Beim IE machst das dann so:
ref.style.pixelLeft = mouseXpos;
oder
ref.style.left = mouseXpos+„px“;
Beim NS6 nur ueber:
ref.style.left = mouseXpos+„px“;
Analog geht dass dann ueber mouseYpos und top,pixelTop,pageY.
das Einfangen des onMousemove-Events geht beim NS6 genauso wie
beim NS4. Allerdings sollte Du onMousemove erst dann
aktivieren, wenn Deine Seite vollstaendig geladen ist. Z.B.
so:
function init()
{
window.document.onmousemove = moveHandler;
}
window.onload.init;
Deine Seite trotzt naemlich nur so von Javascript-ERRORS wenn
die ToolTips aufgerufen werden, waehrend die Seite noch am
laden ist.
Tu ich doch. Meine Funktion startUp() wird ja erst aufgerufen, wenn die Seite vollständig geladen ist ()
Wenn „ref“ Deine Reference auf Deine ToolTip-Division ist und
mouseXpos Deine aktuelle Mouse-Position, dann positionierst Du
bei NS4 mit:
ref.pageX = mouseXpos;
oder
ref.left = mouseXpos;
oder
ref.moveTo(mouseXpos,mouseYpos);
Beim IE machst das dann so:
ref.style.pixelLeft = mouseXpos;
oder
ref.style.left = mouseXpos+„px“;
Beim NS6 nur ueber:
ref.style.left = mouseXpos+„px“;
Analog geht dass dann ueber mouseYpos und top,pixelTop,pageY.
Aber in Deiner startUp()-Methode werden erst nach dem Laden der HTML-Datei die Booleans ie4,ns4,ns6 definiert. Aber man schon vorder vollstaendigen Laden der Seite auf die Funktion showInfo(), hideInfo() drauf zugreifen umd die Browser-abhaengigen Methoden aufzurufen. Besser wohl, die Browserbestimmung aus StartUp() rausnehmen und global vor der startUp() plazieren, aber so:
var ns4 = (document.layers)? true:false;
var ie4 = (document.all)&&(!document.documentElement)? true:false;
var ie5 = (document.all)&&(document.documentElement)? true:false;
var ns6 = (document.documentElement)? true:false;