我正在尝试获取相对于身体的鼠标位置(即body =坐标原点),这个网站的主体元素大小固定,并使用margin:auto CSS属性居中。
由于event.clientX和event.clientY属性给出了从页面开头的偏移量,而不是来自body元素的偏移量,我试图将它减去身体偏移量。为此,我尝试使用document.body.offsetLeft& document.body.offsetTop,但到目前为止没有运气,价值未定义。另外,由于我没有定义它,我不能使用document.body.style.left或document.body.style.top。
是否有人知道获取身体偏移的方法或直接获取相对于DOM元素的鼠标坐标?
提前谢谢!
答案 0 :(得分:8)
使用element.getBoundingClientRect()
获取元素的相对偏移量:
var bodyOffsets = document.body.getBoundingClientRect();
//bodyOffsets.top ;
//bodyOffsets.left ;
答案 1 :(得分:0)
使用Jquery方法position() - 它检索相对于偏移父项的当前位置。