使用jQuery检测鼠标方向

时间:2011-11-22 10:55:37

标签: jquery hover direction

我希望在用户悬停某个元素时启动操作,但仅当鼠标来自元素下方时才会启动。即悬停检查光标的方向,并仅在方向为“向上”时触发功能(光标从下方进入元素)。

有关jQuery悬停鼠标方向的类似帖子,但我假设必须有一个更简单的解决方案,如果我只需要'向上'和'向下'而不是使用鼠标位置来确定每个可能的角度。

1 个答案:

答案 0 :(得分:4)

一个简单的解决方案是:

var mY = 0;
var over = 0;
var direction = '';
$(document).ready(function(){
    $('body').mousemove(function(e){
        if (over == 0) mY = e.pageY;
    });
    $('.my_element').bind('mouseover mousemove', function(e){
        over = 1;
        if (e.pageY < mY){
            direction = 'From Bottom';
        }else{
            direction = 'From Top';
        }

    });
    $('.my_element').bind('mouseout', function(){
        over = 0;
    });
});

这只是一个快速的,希望它适合你...