2012-08-22 4 views
2

요소에 상황에 맞는 메뉴를 추가하기위한 jQuery 플러그인을 작성하고 있습니다. 이제 컨텍스트 메뉴의 위치를 ​​수정해야합니다. 마우스 하단에서 전체 컨텍스트 메뉴를 표시 할 공간이 충분하지 않으면 마우스 상단에서 표시되어야합니다. 몇 가지 시도했지만 내가 원하는 것처럼 작동하지 않습니다.마우스 포인트의 jQuery 위치 요소

http://jsfiddle.net/evandroprogram/pRPQq/ 감사합니다 : 여기

는 jsFinddle에 코드입니다. 여기

+1

고마워요 @ Logard – evsar3

답변

1

당신은

) 동료, 나는 포크와 여기 바이올린

http://jsfiddle.net/joevallender/j5Vy9/

코드 변경 당신이 _contextMenu.css을 (설정 한 후 발신이

var screenBottom = $(window).scrollTop() + $(window).height(); 
var menuHeight = _contextMenu.height(); 
var menuBottom = menuHeight + options.positionY; 
if(menuBottom > screenBottom) { 
    _contextMenu.css({ 
     top: "-=" + menuHeight 
    }) 
} 

입니다 업데이트되었습니다 이동

EDIT 그냥 다시 테스트하고 픽셀 완벽하지는 않지만 제대로 작동하고 제공해야합니다. u 괜찮은 단서 만약 당신이 그것을 꼬집고 싶다면 :)

+0

고마워요! 우리는 가깝다! – evsar3

+1

완벽한 정렬을 위해서'_contextMenu.heterHeight()'에 의해'_contextMenu.height()'를 대체 해 주셔서 감사합니다. – evsar3

+1

좋은 전화 +1! 물론 outerHeight()는 사용하는 것이 가장 좋습니다. – joevallender