2012-02-13 5 views
0

나는 ul nav을 가지고있다. "Resources"li을 클릭하고 "Resources"li를 활성화 할 때 div 컨텐츠를 표시해야합니다. 그런 다음 div 내용을 클릭하여 닫으면 div 내용을 숨기고 li를 활성화하지 않습니다. 어떤 통찰력이 도움이 될 수 있도록이 일을하는 방법에 대해 잘 모르겠습니다.jQuery make active show div 콘텐츠

클릭이 리 항목 활성화 :

<li><a href="">Resources</a></li> 

표시이 DIV 내용

<div id="pdftab">Some content</div> 

난 그냥 당신에게 줄 수있는 페이지 마크 업의 지식이없이

+1

에서 마크 업에

을 바탕으로? 'li' 요소와 div 요소의 순서 사이에 어떤 관계가 있습니까? 귀하의 (대표) 마크 업 중 더 많은 부분을 보여주는 [JS Fiddle demo] (http://jsfiddle.net/)를 제공 할 수 있습니까? –

+0

li에 ID가 없습니다. 이 페이지에는 오직 2 개의 lis 만 있습니다. 하나는 외부 링크로 이동합니다. "Resources"li은 div 컨텐츠를 표시하는 유일한 li입니다. – Andrea

답변

1

너무 감사합니다 힌트. 이 같은 것이 당신에게 도움이 될 것입니다.

$('li a').click(function(){ 
    $('#pdftab').show(); 
    $(this).parent().addClass('active'); 
    return false; 
}); 

$('#pdftab').click(function(){ 
    $(this).hide(); 
    $('li').removeClass('active'); 
}); 

당신은 addClass/ removeClass는 DOM 요소에서 클래스를 추가/제거하는 데 사용할 수있는 활성 클래스 스타일

.active{ 
    //add required styles 
} 

을 정의합니다. jQuery 객체에 .parent()을 호출하면 부모 요소가 반환됩니다.

업데이트 :`li`이 전혀`id`이 있습니까

$('#navlist li:eq(1) a').click(function(){ 
    $('#pdftab').show() 
       .animate({left: '+=340px'}, 1200); 
    $(this).parent().addClass('resourceactive'); 
    return false; 
}); 

$('#pdftab').click(function(){ 
    $(this).hide(); 
    $('#navlist li:eq(1)').removeClass('resourceactive'); 
}); 
+0

단색 흰색 화살표가 보입니다. – ShankarSangoli

+0

편집 된 답변을 확인하고 해당 코드를 사용하십시오. – ShankarSangoli

+0

콘텐츠가있는 동안 "자원"을 클릭하면 콘텐츠에 애니메이션이 계속 적용됩니다. "Resources"를 클릭하면 애니메이션을 멈추는 기능이 있습니까? – Andrea