2013-12-13 8 views
0

클릭 기능을 표시해야합니다. jquery의 아코디언/콘텐츠 탭과 같습니다.클릭하면 divs가 표시됩니다.

현재 클래스를 추가하고 제거하기 위해 jquery를 작성했습니다.

탭을 클릭 할 때 각 div를 표시해야합니다.

여기에 내 코드

$('li').on('click',function(){ 
     $('li a').removeClass('inactive'); 
     $(this).children('a').addClass('inactive'); 
    }); 

DEMO

P.S입니다 - 내가 탭 메뉴에 전환 효과를주고 싶지 않다. 플러그인도 필요하지 않습니다.

+2

그리고 정확하게 귀하의 질문은 무엇입니까? – xeraphim

+0

죄송합니다. 질문을 작성하는 것을 잊었습니다. 내 질문을 수정했습니다. – Sowmya

답변

1

당신은 앵커를 클릭 할 때 표시 할 DIV 저장 .data()를 사용할 수 있습니다.

HTML

<ul> 
    <li class="table-view"><a href="#" class="inactive" data-div-class="div1">Div 1</a></li> 
    <li class="chart-view"><a href="#" data-div-class="div2">Div 2</a></li> 
</ul> 

<div class="myDiv div1">Show this by default and remove when clicked on the div 2 tab</div> 
<div class="myDiv div2">Show this when Div 2 tab is clicked</div> 

자바 스크립트

$('li').on('click',function(){ 
    $('li a').removeClass('inactive'); 

    var $anchor = $(this).children('a'); 
    $anchor.addClass('inactive'); 

    //Hide All Divs 
    $('.myDiv').hide(); 

    //Show Div associated with $anchor 
    $("." + $anchor.data('div-class')).show();  
}); 

DEMO

+0

하지만 기본적으로 첫 번째 div 만 표시하면됩니다. – Sowmya

+0

@Sowmya, 데모보기. 간단한 CSS를 사용하여 숨길 수 있습니다. – Satpal

+0

시원하지만 문제는 없습니다. 메뉴 탭에는 실제 텍스트가 아닌 bg 이미지가 있으며,이 경우 처리 방법이 있습니다. 여기에 데모 용으로 텍스트를 추가했습니다. – Sowmya

0

이 시도 : -

('li').on('click',function(){ 
    $('li a').removeClass('inactive'); 
    $('li a').show(); 
    $(this).children('a').addClass('inactive'); 
    $(this).children('a').hide(); 
}); 
관련 문제