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
jQuery坐标随浏览器/屏幕大小的变化而变化_Jquery_Position_Coords - Fatal编程技术网

jQuery坐标随浏览器/屏幕大小的变化而变化

jQuery坐标随浏览器/屏幕大小的变化而变化,jquery,position,coords,Jquery,Position,Coords,在anstosa对前一个coords问题的帮助下,我想我最好开始一个新问题 我遇到的问题是,我正在设置onclick事件,而活动事件的位置由图像的坐标确定。但是,如果我调整浏览器窗口的大小,坐标会发生变化,事件将不起作用。是的,但不是在我想触发它的地方 有没有一种方法可以让你的工作有一个固定的参照系 我的代码 //悬停时更改地图 jQuery('#map').mousemove(function(e){ var x = e.clientX - this.offsetLeft; v

在anstosa对前一个coords问题的帮助下,我想我最好开始一个新问题

我遇到的问题是,我正在设置onclick事件,而活动事件的位置由图像的坐标确定。但是,如果我调整浏览器窗口的大小,坐标会发生变化,事件将不起作用。是的,但不是在我想触发它的地方

有没有一种方法可以让你的工作有一个固定的参照系

我的代码

//悬停时更改地图

jQuery('#map').mousemove(function(e){
    var x = e.clientX - this.offsetLeft;
    var y = e.clientY - this.offsetTop;
    jQuery('#map-xy').html("X: " + x + " Y: " + y);
});

//Orange
jQuery('#map').on('click', function(e){
var x = e.clientX - this.offsetLeft,
    y = e.clientY - this.offsetTop;
if (x > 620 && x < 935 && y > 678 && y < 785) {
    jQuery(this).children('img').attr('src', '/javascripts/images/map-orange-  shadow.png');

}
jQuery('#map').mousemove(函数(e){
var x=e.clientX-this.offsetLeft;
var y=e.clientY-this.offsetTop;
jQuery('#map xy').html(“X:+X+”Y:+Y);
});
//橙色的
jQuery('#map')。在('click',函数(e)上{
var x=e.clientX-this.offsetLeft,
y=e.clientY-this.offsetTop;
如果(x>620&&x<935&&y>678&&y<785){
jQuery(this).children('img').attr('src','/javascripts/images/map orange-shadow.png');
}
}))

当浏览器调整大小或某个人的屏幕大小不同时,参考会发生变化,因此“如果(x>620&&x<935&&y>678&&y<785)”不会参考我要单击的区域

我希望这更有意义

谢谢

干杯
劳伦斯

我们需要的不仅仅是“不在我想要的地方”。你在做什么?发生了什么事?你想做什么?那么你从哪里得到这些数字的?很明显,它们在页面上代表了一些东西,所以让jquery来测量它,不要测量屏幕上发生了什么,然后输入硬数字。很抱歉,我不知道你在说什么。我从屏幕上的#map的X-Y坐标中得到的数字,是的,然后将它们作为硬数字复制到地图位置。请详细说明你的答案好吗。有没有一种方法可以根据任何屏幕设置坐标?是的,你需要确定你所谈论的任何东西的位置。offset()在这方面很好,但可能与.width()和.height()结合使用(具体取决于您的操作)。如果您不能提供链接或源代码,那么也许您可以在jsFiddle.net上设置一个示例,否则我无法提供太多帮助。谢谢。我的暂存服务器上有一个示例。非常感谢您的帮助