我在父Div中有两个Div(溢出:自动)两个Div很大所以我得到父亲的滚动,问题是当我向上滚动时我得到内部Div的可变鼠标坐标(onclick事件)和(有时甚至是负值)这里是我如何计算鼠标的相对值
jQuery(document).ready(function(){
$("#MnDiv").click(function(e){
var clientXRel = e.clientX - this.offsetLeft;
var clientYRel = e.clientY - this.offsetTop;
var clientCoords = "( " + e.clientX + ", " + e.clientY + " )";
var clientCoordsRel = "( " + clientXRel + ", " + clientYRel + " )";
$("span:first").text("( e.clientX, e.clientY ) : " + clientCoords);
$("span:last").text("( clientXRel , clientYRel ) : " + clientCoordsRel
+ " ( offsetLeft , offsetTop ) : " + this.offsetLeft+ ", " this.offsetTop);
});
所以问题是如何获得相对于内部Div的正确坐标,无论卷轴在哪里? 完整的例子(jsfiddle)Here
提前致谢
答案 0 :(得分:4)
使用jQuery事件变量.pageX
和.pageY
以及元素偏移函数.offset().top
和.offset().left
所以它看起来像
var clientXRel = e.pageX- $(this).offset().left;
var clientYRel = e.pageY - $(this).offset().top;