JavaScript坐标显示为大于图像宽度和高度
我试图在鼠标悬停在图像左上角以像素为单位的图像上时获取鼠标的位置。我目前正在使用pageX和pageY事件属性,但返回的值大于图像本身的宽度和高度JavaScript坐标显示为大于图像宽度和高度,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我试图在鼠标悬停在图像左上角以像素为单位的图像上时获取鼠标的位置。我目前正在使用pageX和pageY事件属性,但返回的值大于图像本身的宽度和高度 var getImgCoord = function(e) { var x = e.pageX, y = e.pageY; console.log(x + ' | ' + y); } $('.featuredImg').mousemove(function() { getImgCoord(event); }); 任何帮助都将
var getImgCoord = function(e) {
var x = e.pageX,
y = e.pageY;
console.log(x + ' | ' + y);
}
$('.featuredImg').mousemove(function() {
getImgCoord(event);
});
任何帮助都将不胜感激。pageX和pageY是相对于文档左上角的坐标,而不是您的图像本身(名称已经说明了这一点) 您需要从元素中减去偏移:
$('.featuredImg').mousemove(function(e) {
var x = e.pageX - $(this).offset().left,
y = e.pageY - $(this).offset().top;
console.log(x + ' | ' + y);
});
pageX和pageY是相对于文档左上角的坐标,而不是图像本身(名称已经说明了这一点) 您需要从元素中减去偏移:
$('.featuredImg').mousemove(function(e) {
var x = e.pageX - $(this).offset().left,
y = e.pageY - $(this).offset().top;
console.log(x + ' | ' + y);
});
抱歉,图片左上角,我编辑了上面的问题。你试过
clientX
和clientY
?我试过了,clientX和clientY产生了相同的结果。抱歉,图片左上角,我编辑了上面的问题。你试过clientX
和clientY
?我试过了,clientX和clientY产生了相同的结果。getImgCoord函数的作用域是什么$(这)可能是窗口对象(或getImgCoord当前的全局范围),因此您的代码无法工作!getImgCoord函数的作用域是什么$(这)可能是窗口对象(或getImgCoord当前的全局范围),因此您的代码无法工作!