2011-01-21 3 views
1

Effect I want. 기본적으로 나는 사용자가 마우스 오버 링크를 클릭 할 때 간단한 메뉴를 팝업하고 싶다. 몇 가지 준비된 스크립트를 시도했지만 내 사이트와 통합하는 데 어려움이있었습니다. 그래서 내 자신을 지 으려고 결심했다. 여기에 내가 할 노력하고 무엇 :onmouseover 자바 스크립트 드롭 다운 메뉴를 만들려고 시도

이 지금
<li onmouseover=showlist1() onmouseout=hidelist1() ><a class="navigation" href="show_delhi_items.php">Menu heading</a></li> 

function showlist1() //onmouseover 
    { 

     document.getElementById('list1').style.visibility='visible' ; 

    } 
    function hidelist1() //onmouseout 
    { 
     if (menu elements don't have focus) 
     { 
     document.getElementById('list1').style.visibility='hidden' ; 
     } 
    } 

는 어떻게 일부 '메뉴 요소에 포커스가없는'구현합니까? 어느 elemtn이 포커스를 갖고 있는지 알 수는 없습니다. 그래서 나는 대안이 필요하다. 기본적으로 문제는 마우스가 주 링크 (숨겨진 메뉴를 팝업하는 링크) 외부로 이동하자 마자 메뉴가 숨겨집니다. 내가 원하는 것은 포커스를 얻으면 메뉴가 보이도록 유지하는 것입니다. 그러나 현재 우리 메인 링크 바깥 쪽에서 마우스가 보이 자마자 감추어진다.

나는 충분히 명확했다.

+1

당신은 메뉴 이러한 유형의 자바 스크립트를 필요로하지 않는, 스마트하고 CSS를 사용하여 구축 : 당신은 사용해야 할 것입니다 마우스가 외부 목록 항목 모두 인 경우 대신 : –

답변

1

메뉴가 onMouseover와 메뉴가 목록 항목을 중복 확인을 :) 일의 실제 방법을 내가 더 나은 다시 그 코멘트를 만들어 . 그런 다음 마우스가 목록 항목과 메뉴 밖에있을 경우에만 메뉴를 닫습니다.

position: absolute; 
top: some-y-value; 
left: some-x-value; 
+0

가> 메뉴를 닫습니다 가져 및 메뉴. 어떻게 감지합니까? 마우스가 목록 항목 밖에있는 경우 찾을 수 있지만 마우스가 메뉴 외부에있는 경우 어떻게 찾을 수 있습니까? –

+0

커서가 목록 항목이나 메뉴를 벗어나는 대신 문서 본문 위로 이동하면 메뉴를 닫을 수 있습니다. "event.cancelBubble = true;"를 사용해야합니다. 네가 원하지 않을 때 끝나면. – Sparafusile

+0

감사합니다. 커서가 문서의 본문 위로 갈 때 발생하는 이벤트를 찾는 방법을 파악한 후 –

관련 문제