我发现了this这个问题,它回答了如何确定鼠标在上下左右移动的问题,但是我需要对角线而不是四个笔直的方向。
这是我的代码:
var deltaX = window.mxShapeRes - event.offsetX,
deltaY = window.myShapeRes - event.offsetY;
if (Math.abs(deltaX) > Math.abs(deltaY) && deltaX > 0) {
//left
} else if (Math.abs(deltaX) > Math.abs(deltaY) && deltaX < 0) {
//right
} else if (Math.abs(deltaY) > Math.abs(deltaX) && deltaY > 0) {
//up
} else if (Math.abs(deltaY) > Math.abs(deltaX) && deltaY < 0) {
//down
}
我需要确定鼠标是左上角,右上角,左下角还是右下角。
如何使用给定的代码执行此操作?
感谢任何可以提供帮助的人!
答案 0 :(得分:2)
您可以组合条件。例如,如果鼠标在左上方移动,则deltaX和deltaY将会> 0。
if (deltaY > 0 && deltaX > 0) {
// top - left
} else if (deltaY > 0 && && deltaX < 0) {
// top - right
} else if (deltaY < 0 && && deltaX > 0) {
// bottom - left
} else if (deltaY < 0 && && deltaX < 0) {
// bottom - right
}