0

我想在用户悬停某个元素时启动一个动作,但前提是鼠标来自该元素下方。即悬停检查光标的方向,并仅在方向为“向上”时触发函数(光标从下方进入元素)。

有一篇关于 jQuery hover with mouse direction 的类似帖子,但我假设如果我只需要“向上”和“向下”而不是使用鼠标位置来确定每个可能的角度,那么必须有一个更简单的解决方案。

4

1 回答 1

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;
    });
});

这只是一个快速的,希望它对你有用......

于 2011-11-22T11:27:35.603 回答