ale*_*nes 0 javascript css mouse jquery
我有一个包含图像的div.当用户点击图像时,将保存鼠标的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;
document.getElementById("xtextinput").value = PosX;
document.getElementById("ytextinput").value = PosY;
}
//-->
</script>
<th width="53%" height="auto" class="settingsrow" style="border-bottom: hidden; cursor:crosshair;" scope="row">
<img id="myImgId" alt="" src="../floorplanimages/<?php echo ($floorplan['floorplanimage']) ?>" width="650" height="951" />
</th>
<script type="text/javascript">
<!--
var myImg = document.getElementById("myImgId");
myImg.onmousedown = GetCoordinates;
//-->
</script>
Run Code Online (Sandbox Code Playgroud)
您可以创建一个div元素,该元素最初设置为hide(),其z-index大于包含元素的图像.使用pageX和pageY在单击时动态定位div元素,然后对该元素使用show()方法.