我想做的事情对于一个 Js 人来说应该很容易,但我只是一个 php 人(只是一个初学者。)。我现在正在做的项目需要这个。
我想要做的是,获取图像上的点击坐标并将其发布到 php 脚本,以便我可以获得值并进行其余处理。 (我不知道 ajax,所以我想这是我能做到的唯一方法)。
我找到了一个代码,但它会根据需要多次显示 X 和 Y 点。我希望它只工作一次。
<script type="text/javascript">
<!--
function FindPosition(oElement)
{
if(typeof( oElement.offsetParent ) != "undefined")
{
for(var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent)
{
posX += oElement.offsetLeft;
posY += oElement.offsetTop;
}
return [ posX, posY ];
}
else
{
return [ oElement.x, oElement.y ];
}
}
function GetCoordinates(e)
{
var PosX = 0;
var PosY = 0;
var ImgPos;
ImgPos = FindPosition(myImg);
if (!e) var e = window.event;
if (e.pageX || e.pageY)
{
PosX = e.pageX;
PosY = e.pageY;
}
else if (e.clientX || e.clientY)
{
PosX = e.clientX + document.body.scrollLeft
+ document.documentElement.scrollLeft;
PosY = e.clientY + document.body.scrollTop
+ document.documentElement.scrollTop;
}
PosX = PosX - ImgPos[0];
PosY = PosY - ImgPos[1];
document.getElementById("x").innerHTML = PosX;
document.getElementById("y").innerHTML = PosY;
}
//-->
</script>
<img src="newapp.jpg" alt="" id="myImgId" height="300" width="400"><p>Click on the image to get the coordinates.</p>
<script type="text/javascript">
<!--
var myImg = document.getElementById("myImgId");
myImg.onmousedown = GetCoordinates;
//-->
</script>
最佳答案
你甚至可以不用 javascript(只用 html 和 php ;)
<?php
$foo_x=$_POST['foo_x'];
$foo_y=$_POST['foo_y'];
echo "X=$foo_x, Y=$foo_y ";
?>
<form action='' method=post>
<input type="image" alt=' Finding coordinates of an image' src="xy-coordinates.jpg" name="foo" style=cursor:crosshair;/>
</form>
关键是类型属性设置为 type="image"
。
源代码和演示:http://www.plus2net.com/php_tutorial/php_image_coordinates.php
关于javascript - 鼠标点击图片位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13031098/