我需要在单击时获取相对于左上角的图像坐标。 因此,图像的左上角是条件0,0,然后第一个像素1,0 ... 2..0等。 在JavaScript中是否有可以使用的构造来获取此逻辑?
我需要在单击时获取相对于左上角的图像坐标。 因此,图像的左上角是条件0,0,然后第一个像素1,0 ... 2..0等。 在JavaScript中是否有可以使用的构造来获取此逻辑?
<img id="board" style="z-index: 0; left: 300;position: absolute; top: 600px" align=baseline border=0 hspace=0 src="design/board.gif">
function findPos(obj){
var curleft = 0;
var curtop = 0;
if (obj.offsetParent) {
do {
curleft += obj.offsetLeft;
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
return {X:curleft,Y:curtop};
}
}
findPos(document.getElementById('board'));
alert(curleft);
alert(curtop);
这里有一个链接可以帮助你:
http://www.emanueleferonato.com/2006/09/02/click-image-and-get-coordinates-with-javascript/
该链接提供了使用JavaScript点击图像并获取坐标的方法。offsetLeft 和 offsetTop 返回相对于文档左上角的位置:
function getCoordinates(elem) {
var LeftPos = elem.offsetLeft;
var TopPos = elem.offsetTop;
return {X:LeftPos,Y:TopPos};
}
HTML:
<div id="xRes">Top:<span></span></div>
<div id="yRes">Left:<span></span></div>
<input type="button" id="getPos" value="Get X,Y"/>
<img src="http://www.katimorton.com/wp-content/uploads/2012/05/mr-happy.jpg" id="myImg"/>
JS:
$(document).ready(function () {
$('#myImg').draggable();
$('#getPos').on('click', function(){
var xRes = $('#xRes span'),
yRes = $('#yRes span'),
image = $('img#myImg');
xRes.html(image.offset().top);
yRes.html(image.offset().left);
});
});