javascript - 鼠标点击图片位置

标签 javascript

我想做的事情对于一个 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/

相关文章:

javascript - jquery文件中添加HTTP头信息导致加载jquery.js失败

javascript - 如果选中复选框 > 1,则应用表达式

javascript - 具有两个数字输入的多个 slider

javascript - 通过 url jquery 添加新的图像对象

javascript - 想用next.js取消浏览器的后退按钮

javascript - 过滤和隐藏 tr 元素的有效方法

javascript - 将字符串对象作为 onclick 函数中的第二个参数传递

javascript - 更新饼图更新的文本位置

javascript - 获取带有 chrome 扩展名的打开邮件的 gmail 邮件正文

javascript - 使用我的参数在 JavaScript 中创建一个新的 Date()