javascript - 如何确定鼠标在mousemove事件上的方向(左上,右上,左下和右下)

标签 javascript jquery

我找到了 this回答如何确定鼠标在上、右、下和左方向上移动的问题,但我需要对 Angular 线而不是四个直线方向。

这是我的代码:

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
}

我需要确定鼠标是在左上、右上、左下还是右下。

如何使用给定的代码执行此操作?

感谢任何可以提供帮助的人!

最佳答案

您可以组合条件。例如,如果鼠标在左上方移动,则 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
}

关于javascript - 如何确定鼠标在mousemove事件上的方向(左上,右上,左下和右下),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57806740/

相关文章:

javascript - 从 Handlebars 添加 javascript 脚本

javascript - $.ajax 无法正常运行 - 返回 index.html

javascript - 使用 vanilla JavaScript,我如何访问 jQuery 的 .data() 方法存储的数据?

jQuery 自动完成选项的位置错误

javascript - mmenu 搜索触发网站(全局)搜索

javascript - 如何在angularjs中有条件地应用css类

javascript - 如何更新 Angular UI 网格中的数据?

javascript - 如何将子菜单添加到我的选项卡?

javascript - 无法调用由 JSON 创建的数组中的特定值 .push(ed) 到它吗?

jquery - C#- jQuery DataTable - 仅对列的特定标题标题单元格应用 CSS 样式(不是列中的单元格数据)