Lieber Dominik,
ich möchte eine Ebene an der Position des Mauszeiges einblenden.
eine "Ebene"? Also so etwas, wie ein Element, das auf display:block und position:absolute gesetzt ist?
Mit folgendem Script funktioniert das Ganze im IE auch einwandfrei:
function show_ref(ort) {
document.getElementById(ort).style.pixelTop = window.event.y + document.body.scrollTop + 15;
document.getElementById(ort).style.pixelLeft = window.event.x + document.body.scrollLeft + 15;
document.getElementById(ort).style.visibility = 'visible';
}Wie kann dieses Script umbauen um es auch im Firefox/Netscape nutzen zu können?
Tja, da solltest Du besser keine proprietären CSS-Eigenschaften verwenden. Ich kenne pixelTop nicht, denn es gehört nicht zum CSS-Standard.
window.event.x und window.event.y sind auch für Geckos ungeeignet. Es gab hier im Forum mal einen Thread, da ging es um die Mauszeiger-Koordinaten. Aus der dortigen Diskussion habe ich für mein Script dann folgende Funktion entwickelt. Möge sie Dir nützen:
function koordinaten(ereignis)
{
var pos, box, IE;
box = document.getElementById("maus-tip");
if (!ereignis) ereignis = window.event;
pos = { left : ereignis.clientX, top : ereignis.clientY };
// powered by struppi
IE = (window.document.compatMode && window.document.compatMode == "CSS1Compat") ?
window.document.documentElement : window.document.body || null;
if (IE)
{
pos.left += IE.scrollLeft;
pos.top += IE.scrollTop;
}
box.style.left = pos.left -65 + "px";
box.style.top = pos.top + 20 + "px";
}
Liebe Grüße aus Ellwangen,
Felix Riesterer.