我目前有一个检测鼠标进入方向的函数,它返回每个部分的整数值(0-3),如下所示。
我正在尝试修改此函数以根据以下插图产生输出:
基本上,我只想知道用户是从左边还是右边进入图像。我已经尝试过几次试错,但我不擅长这种数学。
我已经创建了一个带有控制台输出的JSFiddle示例。
确定方向的函数为:
function determineDirection($el, pos){
var w = $el.width(),
h = $el.height(),
x = (pos.x - $el.offset().left - (w/2)) * (w > h ? (h/w) : 1),
y = (pos.y - $el.offset().top - (h/2)) * (h > w ? (w/h) : 1);
return Math.round((((Math.atan2(y,x) * (180/Math.PI)) + 180)) / 90 + 3) % 4;
}
其中,pos
是一个对象:{x: e.pageX, y: e.pageY}
,而$el
则是包含目标元素的jQuery对象。