6

margin:auto CSS 属性を使用して body 要素のサイズが固定され、中央に配置されている Web サイトの body (つまり、body = 原点の座標) に対するマウスの位置を取得しようとしています。

event.clientX および event.clientY 属性は、body 要素からではなく、ページの先頭からのオフセットを提供するため、body オフセットを減算しようとしました。これを行うために、document.body.offsetLeft と document.body.offsetTop を使用しようとしましたが、これまでのところ運が悪く、値は未定義です。また、document.body.style.left や document.body.style.top は定義していないので使えません。

体のオフセットを取得する方法を知っている人はいますか、またはDOM要素に相対的なマウス座標を直接取得しますか?

前もって感謝します!

4

2 に答える 2

8

element.getBoundingClientRect()要素の相対オフセットを取得するために使用します。

var bodyOffsets = document.body.getBoundingClientRect();
//bodyOffsets.top   ;
//bodyOffsets.left  ;
于 2012-04-30T12:19:37.630 に答える
0

Jquery メソッド position() を使用します。これは、オフセットの親に対する現在の位置を取得します。

于 2012-04-30T12:19:19.047 に答える