Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery在光标位于坐标之间时添加单击事件_Jquery_Position_Swap_Coords - Fatal编程技术网

jQuery在光标位于坐标之间时添加单击事件

jQuery在光标位于坐标之间时添加单击事件,jquery,position,swap,coords,Jquery,Position,Swap,Coords,如果我必须遵循HTML,这是一个地图的图像。地图分为彩色区域。我的目标是,如果光标位于图像的某个区域上,则交换图像 <div id="map" class="mouse-click"><img class="image-swap" src="images/map.png" /></div> 如果光标位于一组坐标之间,如何添加单击事件以交换img 非常感谢您的帮助。$(“#映射”)。在('click',函数(e)上{ $('#map').on('click',

如果我必须遵循HTML,这是一个地图的图像。地图分为彩色区域。我的目标是,如果光标位于图像的某个区域上,则交换图像

<div id="map" class="mouse-click"><img class="image-swap" src="images/map.png" /></div>
如果光标位于一组坐标之间,如何添加单击事件以交换img

非常感谢您的帮助。

$(“#映射”)。在('click',函数(e)上{
$('#map').on('click', function(e){
    var x = e.clientX - this.offsetLeft,
        y = e.clientY - this.offsetTop;
    if (x > xMin && x < xMax && y > yMin && y < yMax) {
        // click was in target zone, swap img
    }
});
var x=e.clientX-this.offsetLeft, y=e.clientY-this.offsetTop; 如果(x>xMin&&xyMin&&y

其中
xMin
xMin
yMax
yMin
描述了目标区域的边界。

请原谅我缺乏知识,谢谢,但我无法让它发挥作用:-(.我哪里出错了?如果(x>708&&x<751&&y>470&&y<573){$('div map>img')。鼠标悬停(函数(){$(this.attr('src','images/map_hover.png');$('div#map>img')).mouseout(function(){$(this.attr('src','images/map.png');});试试这个:。确保您正在使用jQuery 1.7+,并检查您的JS控制台是否有任何错误。如果我想更改$('map'),我会再问一个问题('click',function(e){to a mouseover event,我已经尝试了一些方法,但没有成功。我如何实现>$('map')。关于('mouseover',function(e){或$('map')。关于('hover',function(e){
$('map')。关于('mouseover',function(e){
)是正确的。我不确定为什么这不起作用。//蓝绿色$('map')。关于('click',function(e'){var x=e.clientX-this.offsetLeft,y=e.clientY-this.offsetTop;if(x>617&&x<947&&y>486&&y<567){$(this).children('img').attr('src','/javascripts/images/map蓝绿色阴影.png');$('div.popme').show()})//Orange$('mouseover',函数(e){var x=e.clientX-this.offsetLeft,y=e.clientY-this.offsetTop;如果(x>617&&x<953&&y>585&&y<701){$(this.children('img').attr('src','/javascripts/images/map orange shadow.png');});
$('#map').on('click', function(e){
    var x = e.clientX - this.offsetLeft,
        y = e.clientY - this.offsetTop;
    if (x > xMin && x < xMax && y > yMin && y < yMax) {
        // click was in target zone, swap img
    }
});