ザのみ適度クロスブラウザーの方法(ウィンドウに対して)clientX
/clientX
ているに、screenX
/screenY
(画面全体に対する)及びpageX
/pageY
(文書に対して、しかし以下IE8でサポートされていません)。
Quirksmodeは相対ツー文書の値に標準化するため、このことを示唆している:
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;
}
// posx and posy contain the mouse position relative to the document
// Do something with this information
}
次に、あなたがあなたの要素に対するその位置をうまくthisを使用することができます。
恐ろしい私は知っていますが、インターネットは恐ろしい場所です。ここで
申し訳ありませんが、これは常にlayerXとlayerYと同じ値を取得しているようです... –
多分関数名は 'getLayerXY'である必要があります – aztack
ちょうど'var x = y = 0'で世の中として' y'を宣言しているので注意してください。 – fmvilas