2013-09-24 2 views
0

다음 메뉴가 있습니다 (이는 드롭 다운 메뉴를 표시해야하는 아이콘 일뿐입니다. 토글로 표시하고 숨길 메뉴를 얻을 수 있지만, 내가 링크를 닫으면 표시된 링크로 이동하려고하면 클래스를 추가 할 때 마우스를 올리면 메뉴가 사라집니다. 마우스를 클릭하여이 메뉴를 부드럽게 표시하고 숨길 수있는 방법이 있습니까?Jquery 메뉴가 마우스 왼쪽에 숨어 있지 않음

<div id="global_menu"> 
     <span id="show_global_menu" class="icons_large">(</span> 
      <ul id="dropdown" class="hidden"> 
       <span class="arrow-u" style="margin-top:-8px;"></span> 
       <li> @Ajax.ActionLink("Icon Legend", "font_legend", null, new AjaxOptions {   UpdateTargetId = "placeholder_extra1", InsertionMode = InsertionMode.Replace, HttpMethod = "GET" }, new { @class = "" })</li> 
       <li><a href="../Home/Index" title="Sign Out">Sign Out</a></li> 
       <li>Support</li> 
      </ul> 
</div> 
    <script> 
     $(document).ready(function() { 
      if ($("ul#dropdown").hasClass("hidden")) { 
       $("span#show_global_menu").hover(function() { 
        $("ul#dropdown").slideDown("slow"); 
       }); 
      }; 
     $("ul#dropdown").hover(function(){ 
      $("ul#dropdown").mouseout(function() { 
       $("ul#dropdown").addClass("hidden"); 
      }); 
     }); 
     }); 
</script>  

+2

당신은 다른 이벤트 핸들러 내부에 이벤트 처리기를 바인딩하고 있습니다. – adeneo

+0

.hidden 클래스의 CSS는 무엇입니까? –

+0

display : none – Mark

답변

0

를 사용

<script> 
    $(document).ready(function() { 
     if ($("ul#dropdown").hasClass("hidden")) { 
      $("span#show_global_menu").hover(function() { 
       $("ul#dropdown").slideDown("slow"); 
      }); 
     }; 

     $("ul#dropdown").mouseleave(function() { 
      $("ul#dropdown").slideUp('slow'); 
     }); 
    }); 
</script> 
+1

코드가 테스트되었습니다. 매력으로 작동 – Salim

+0

감사합니다 !!! 이것은 나에게 그런 작은 메뉴 인 것을위한 거대한 두통을 주었다. 건배! – Mark

0

는 다음과 같이 somesing보십시오 : $ (문서) .ready (함수() {

$("span#show_global_menu").hover(function() { 
    $("ul#dropdown").slideDown("slow"); 
},function(){ 
     $("ul#dropdown").slideUp("slow"); 
}); 


     }); 
</script> 
+0

'mouseenter'와'mouseleave'에서 둘 중 하나를 사용한다면 이전 애니메이션을 멈추어야합니다. 그렇지 않으면 짜증나는 애니메이션 대기열이 생성 될 수 있습니다. –

+0

이 아이콘은 작동하지만 (#show_global_menu) 내 목록 (ul # 드롭 다운)에서 마우스를 움직이면 바로 slidesup을 나열하십시오. – Mark

관련 문제