2011-03-15 42 views
0

我试图实现的声音,可能很简单。我该如何计算鼠标位置相对于使用Javascript/jQuery的预定义点的坐标

一点,让我们说浏览器的绝对中心是标记。

我知道如何计算相对于边界框或文档窗口的鼠标位置,但是如何在标记的某种网格系统中计算它?

因此,例如,鼠标位于标记的左侧,我将返回减去x轴的数字,如果它低于该点,我将接收x轴和y轴的负数,然后当然是相反的。

谢谢

回答

1

Live Demo

基本上你得到的鼠标坐标和减去当前元素位置,减去宽度和高度/ 2,以获得其中心点。

$(document).mousemove(function(e){ 
    var offset = $("#offsetElement").offset(), 
     offWidth = $("#offsetElement").width()/2, 
     offHeight = $("#offsetElement").height()/2, 
     offX = e.pageX - offset.left - offWidth , 
     offY = e.pageY - offset.top - offHeight; 

    $('#coords').html(offX + ', ' + offY); 
}); 
+0

作品一个款待,谢谢现场演示太:) :) – Henryz 2011-03-16 14:56:33

+0

@Henryz没问题,很高兴它适合你。 – Loktar 2011-03-16 16:11:07

2

CenterPoint的 - MousePosition = MousePosition相对于中心点。

如果x小于0,它就在左边。如果y小于0,它就在它的下面。

所以,如果x小于0,y是大于0的点是在“左上”

相关问题