2011-11-22 5 views
0

사용자가 특정 요소를 마우스로 가리키면 마우스를 요소 아래에서 가져 오는 경우에만 작업을 시작하려고합니다. 즉 호버 (hover)는 커서의 방향을 검사하고, 방향이 "위로"(커서가 아래에서 요소에 입력 된 경우)에만 기능을 실행합니다.jQuery로 마우스 방향 감지

마우스 방향과 jQuery 마우스를 움직일 때 비슷한 지점이 있지만 모든 각도를 결정할 때 마우스 위치를 사용하는 것보다 '위로'와 '아래로'필요한 경우 간단한 해결책이 있어야한다고 가정합니다.

+0

... 희망이 당신을 위해 작동, 많은 도움이 될 유사한 게시물에 대한 링크 그냥 빨리 하나입니다. – Filip

답변

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