PHP beginner |
|
Hallo,
ik had onderstaande code om de muispositie te detecteren en een div te plaatsen op de plaats waar de muis geklikt wordt.
Dit werkt in IE en chrome, maar niet in FF.
Het script is afkomstig van quircksmode, nochtans gaat men daar prat op dat hun scripts cross-browser zijn...
function doSomething(e) {
var posx = 0;
var posy = 0;
if (!e) var e = window.event;
if (e.pageX || e.pageY) {
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY) {
posx = e.clientX + document.body.scrollLeft
+ document.documentElement.scrollLeft;
posy = e.clientY + document.body.scrollTop
+ document.documentElement.scrollTop;
}
document.getElementById('div').style.top = posY + 'px';
document.getElementById('div').style.left = posX + 'px';
}
function doSomething(e) { var posx = 0; var posy = 0; if (!e) var e = window.event; if (e.pageX || e.pageY) { posx = e.pageX; posy = e.pageY; } else if (e.clientX || e.clientY) { posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; } document.getElementById('div').style.top = posY + 'px'; document.getElementById('div').style.left = posX + 'px'; }
Toen heb ik verder gezocht op het internet, en probeerde ik deze code:
var isIE = document.all;
var mouseX = 0;
var mouseY = 0;
function getMouseXY(e)
{
if (!e) e = window.event;
if (e)
{
mouseX = isIE ? (e.clientX + document.body.scrollLeft) : e.pageX;
mouseY = isIE ? (e.clientY + document.body.scrollTop) : e.pageY;
}
}
document.getElementById('div').style.top = mouseY + 'px';
document.getElementById('div').style.left = mouseX + 'px';
var isIE = document.all; var mouseX = 0; var mouseY = 0; function getMouseXY(e) { if (!e) e = window.event; if (e) { mouseX = isIE ? (e.clientX + document.body.scrollLeft) : e.pageX; mouseY = isIE ? (e.clientY + document.body.scrollTop) : e.pageY; } } document.getElementById('div').style.top = mouseY + 'px'; document.getElementById('div').style.left = mouseX + 'px';
Bron: http://www.webd...hp?t=90611
Volgens de TS op die website werkte het bij hem wel, maar bij mij dus (weer) niet.
Wat gebeurt er: in chrome en IE wordt de div op de juiste plaats weergegeven, in FF wordt de div in de linkerbovenhoek ,dus x = 0 en y = 0.
Iemand een idee?
|