6

我正在尝试为一个网站获取鼠标相对于主体的位置(即,body = 坐标原点),该网站的 body 元素的大小固定并通过使用 margin:auto CSS 属性居中。

由于 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 回答