2014-11-08 3 views
2

Пожалуйста, смотрите дизайн этого меню: http://jordanek.eu/aktual/index6.html, где я создал меню (слева), которое имеет некоторые функции, например, при нажатии на белую полосу «Vyrobce», затем желтую полосу «Vyrobce» », И белый бар« Vyrobce »исчезнет. И при нажатии на закрытие ссылки «x» на желтой полосе «Vyrobce» оно исчезнет со всеми элементами и снова появится белая полоса «Vyrobce».Как показать и скрыть меню Bar

Проблема заключается в том, что я нажимаю на желтую полосу «Vyrobce», кроме закрывающей ссылки «x», снова появляется белая полоса «Vyrobce» и одновременно показывает оба меню. Но я хочу показывать только по одному бару за раз. Как я могу это сделать?

Может ли кто-нибудь помочь мне исправить это? Спасибо.

N.B. Я использую эту функцию javascript для показа и скрываю бары, которые у меня есть: http://www.w3schools.com/jquery/jquery_hide_show.asp. Вы можете увидеть весь код, посетив данную ссылку и посмотрите исходный код.

<script> 
$(document).ready(function(){ 
    $("#headingOne").click(function(){ 
       $(".panel_heading1").hide(); 
    }); 
    $("#collapseOne").click(function(){ 
     $(".panel_heading1").show(); 
    }); 
}); 

+0

с помощью сайта, на панели которого есть больше проблем. чтобы ответить на ваш вопрос, почему бы не использовать простой подход к переключению активного класса? для этого вам не нужно создавать отдельный заголовок. просто измените существующий заголовок. – Timmerz

+2

также аккордеоны - это общий элемент управления, поэтому вам не нужно его изобретать. можете ли вы использовать существующую? – Timmerz

+1

http://jqueryui.com/accordion/#collapsible – Banana

ответ

0

В разделе вы привязываете событие close, обертываете всю область. Вместо этого попробуйте связать событие click только с тесной ссылкой:

$("#collapseOne [data-toggle='collapse']").click(function() { 
    $(".panel_heading1").show(); 
}); 
0

Мы не можем сказать, проблему, если мы не можем увидеть весь код, но я думаю, что вы, возможно, применяя событие щелчка по всей $("#collapseOne") в то время как вам нужно просто применить его к X внутри.