янв
15
2016

Изучаем jQuery. Простой аккордеон

Меню типа «аккордеон» получили свое название за схожесть с аналогичным музыкальным инструментом, когда разворачивание одной области приводит к сворачиванию другой. Обычно аккордеоны фиксированы таким образом, чтобы одна, и только одна, из областей оставалась видимой постоянно, хотя некоторые аккордеоны позволяют сворачивать уже раскрытую область, тем самым скрывая имеющиеся в ней элементы.
script.js
$(document).ready(function(){
  $('ul > li ul')
    .click(function(event){
      event.stopPropagation();
    })
    .filter(':not(:first)')
    .hide();
    
  $('ul > li').click(function(){
    var selfClick = $(this).find('ul:first').is(':visible');
    if(!selfClick) {
      $(this)
        .parent()
        .find('> li ul:visible')
        .slideToggle();
    }
    
    $(this)
      .find('ul:first')
      .stop(true, true)
      .slideToggle();
  });
});