2011-10-27 3 views
1

나는 끔찍한 탐색 문제가 있지만 작동시키지 못하는 것 같습니다. mainnav div의 <li> 항목 위로 마우스를 가져 가면 하위 탐색에 따라 표시됩니다. 하지만 활성 클래스 상태로 유지되지 않습니다. mainnav-li이 선택되면, 서브 나브는 머물러 있어야합니다. 잠수함에서 내려갈 때 초기 잠수함이 다시 나타납니다.하위 탐색 div 숨기기 유지

(다른 PHP에서 정의 된) document.ready 함수 다음에 활성 subnav를로드합니다.

아무 도움이 여기에 대단히 감사합니다. 내가

:-) 잃었어요 모든 주요 리튬 탐색 항목은 여기 :

<div id="navigation-main"> 
    <div id="mainnav"> 
    <div class="navigation-items"> 
     <ul> 
     <li id="mainnav1" class="active"><a href="#" id="header">Button 1</a></li> 
     <li id="mainnav2"><a href="#">Button 2</a></li> 
     <li id="mainnav3"><a href="#">Button 3</a></li> 
     <li id="mainnav4"><a href="#">Button 4</a></li> 
     </ul> 
    </div> 
    </div> 
</div> 

Subdivs은 다음과 같습니다

<div id="navigation-sub1" class="navigation-sub">navigation-sub 1 active</div> 
<div id="navigation-sub2" class="navigation-sub">navigation-sub 2 active</div> 
<div id="navigation-sub3" class="navigation-sub">navigation-sub 3 active</div> 
<div id="navigation-sub4" class="navigation-sub">navigation-sub 4 active</div> 

가 여기에 지금까지 내 코드의 ...

$(document).ready(function() { 

    var activeId = $(".active").attr("id").replace("mainnav",""); 
    $("#navigation-sub" + activeId).show(); 

    $("#mainnav a").hover(function() { 
     //reset 
     $(".navigation-sub").hide(); 
     $("#mainnav .active").removeClass("active"); 

     //act 
     $(this).addClass("active") 
     var id = $(this).closest("li").attr("id").replace("mainnav",""); 
     $("#navigation-sub" + id).show(); 

    }); 

    $("#mainnav").mouseout(function() { 
     $(".navigation-sub").hide(); 
     $("#navigation-sub" + activeId).show(); 
    }); 

}); 
+0

더 나은 HTML을 제공 할 수 있습니까? 귀하의 예에서 요소들이 서로 관련되어있는 곳을보기가 조금 어렵습니다. – Joey

+0

감사합니다. Joey, 게시물의 HTML 코드를 변경했습니다. 또한 여기에 온라인 예가 있습니다 : http://www.digiport.nl/tst/testnav.php – KJS

답변

1

의 mouseleave에서이를 숨기려면 을 mainnav으로 이동해야합니다..

http://jsfiddle.net/Q3YpU/5/

나는이 문제를 해결 희망 : 또한, 당신이로 마우스를 사용하고, 내가 생각할 때 당신이하는 MouseLeave 의미!

+0

당신은 조이! 때때로 당신은 단지 그것을보기 위해 다른 누군가가 필요합니다 :) – KJS

+0

다행 저는 대답을 드릴 수 있습니다 :) – Joey