2013-12-13 4 views
0

Я должен показать соответствующую функцию щелчка. Также как вкладки accordion/Content в jquery.Показать divs по клику

В настоящее время я написал jquery для добавления и удаления класса.

Мне нужно показать соответствующие divs при нажатии на вкладки.

Вот мой код

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

DEMO

P.S - Я не хочу, чтобы дать тумблер эффект на вкладке меню. И никаких плагинов, пожалуйста.

+2

А что именно ваш вопрос? – xeraphim

+0

Упс забыл написать вопрос .. Отредактировал мой вопрос. – Sowmya

ответ

1

Вы можете использовать .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> 

JavaScript

$('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(); 
}); 
Смежные вопросы