2011-02-09 3 views
0

아래 코드는 하나의 조건을 제외하고는 훌륭하게 작동합니다. 사용자가 문서를 준비하기 전에 요소 위로 마우스를 가져 가면 slideToggle이 동기화되지 않습니다 (또는 되돌려 짐).jQuery .doc 준비가되기 전에 사용자가 마우스를 가져 가면 문제가 발생합니다.

결과적으로 #logged_in_nav가 마우스 아웃에 표시되고 마우스를 올리면 상자가 사라집니다. 이 문제를 해결할 수있는 간단한 방법은 무엇입니까?

$("#logged_in_box").hover(function(){ 
      $("#logged_in_nav").stop(true, true).slideToggle("fast"); 
      $(this).addClass("logged_in_box_hover"); 
     }, // hover over 
     function() { 
      $("#logged_in_nav").stop(true, true).slideToggle("fast"); 
      $(this).removeClass("logged_in_box_hover"); 
     } // hover out 
    ); // hover 

답변

3

slideToggle을 사용하지 마십시오. 대신 방향이 이벤트 유형에 명시 적으로 연결되도록 slideDown()(docs)slideUp()(docs)을 사용하십시오.

$("#logged_in_box").hover(function(){ 
     $("#logged_in_nav").stop(true, true).slideDown("fast"); 
     $(this).addClass("logged_in_box_hover"); 
    }, // hover over 
    function() { 
     $("#logged_in_nav").stop(true, true).slideUp("fast"); 
     $(this).removeClass("logged_in_box_hover"); 
    } // hover out 
); // hover 
관련 문제