javascript - 检测鼠标方向

标签 javascript jquery mouseevent direction

我正在尝试使用此代码来检测鼠标方向是向上还是向下:

<html>  
    <head></head>
    <body>
        <div style="width: 500px; height: 500px; background: red;"></div>
    </body>
</html>

var mY = 0;
$('body').mousemove(function(e) {
    mY = e.pageY;
    if (e.pageY < mY) {
        console.log('From Bottom');
        return;

    } else {
        console.log('From Top');
    }

});

但是这段代码并没有像我预料的那样工作。控制台日志始终显示“从顶部”

有什么想法吗?

demo

最佳答案

var mY = 0;
$('body').mousemove(function(e) {

    // moving upward
    if (e.pageY < mY) {
        console.log('From Bottom');

    // moving downward
    } else {
        console.log('From Top');
    }

    // set new mY after doing test above
    mY = e.pageY;

});

关于javascript - 检测鼠标方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8450199/

相关文章:

javascript - 仅当用户未在其中单击并使用 Jquery 项目时才淡出该项目

javascript - jQuery 更改包含元素的宽度与幻灯片

jquery - 具有背景图像和居中内容的 Div

javascript - 如何从用户悬停的行中获取第一个单元格?

javascript - Mousemove 延迟触发 mouseleave 事件

javascript - 增加变量名

javascript - 无法使用 off() 来关闭带有动态列表 (jquery) 事件处理程序的事件处理程序?

javascript - 如何在 react 中计算 ul 的事件子元素?

javascript - 我如何使用 javascript 来实现这样用户只能在 Lottie 动画完全播放后触发悬停事件?

javascript - 复杂的 promise 和 for 循环