图像的javascript偏移值
我正在尝试捕获图像上的单击事件(这是div的背景图像)。我有以下代码:图像的javascript偏移值,javascript,Javascript,我正在尝试捕获图像上的单击事件(这是div的背景图像)。我有以下代码: findPos:function(obj) { var pos = new Object(); pos.x = pos.y = 0; if (obj.offsetParent) { do { pos.x += obj.offsetLeft;
findPos:function(obj) {
var pos = new Object();
pos.x = pos.y = 0;
if (obj.offsetParent)
{
do
{
pos.x += obj.offsetLeft;
pos.y += obj.offsetTop;
} while (obj = obj.offsetParent);
}
return pos;
}
上面的代码为div返回相同的值。但是我想获取div内的坐标。您是否在寻找类似以下内容:
$(“#特殊”)。单击(功能(e){
var x=e.pageX-this.offsetLeft;
变量y=e.pageY-this.offsetTop;
$('#status2').html(x+,'+y);
});
0, 0
点击我的任何地方!
只需找到div的坐标,就像你正在做的那样,然后从单击事件的鼠标坐标中减去它们。你是想得到div内部的鼠标坐标,还是背景图像位置?div的相对鼠标坐标,使用csst居中这是一个很好的答案,只要@gk1不反对将jquery用于像这样的短代码段,只需将它们添加到答案中即可。外部“垃圾箱”往往会受到链接腐烂的影响。
$("#special").click(function(e){
var x = e.pageX - this.offsetLeft;
var y = e.pageY - this.offsetTop;
$('#status2').html(x +', '+ y);
});
<html>
<head>
<script class="jsbin"
src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
</head>
<body>
<h2 id="status2">
0, 0
</h2>
<div style="width: 100px; height: 100px; background:#ccc;" id="special">
Click me anywhere!
</div>
</body>
</html>