Jquery Accordion Развернуть все Свернуть все - PullRequest
5 голосов
/ 06 октября 2010

Я искал способ включить «развернуть все» и «свернуть все».Я обновил демо новым кодом, используя простой аккордеон jquery.

Оригинальный код должен быть зачислен Райану Стемкоски на http://www.stemkoski.com/stupid-simple-jquery-accordion-menu/

Демо: http://jsbin.com/ucalu3/5/

$(document).ready(function() { 
  $('.question').click(function() {

  if($(this).next().is(':hidden') != true) {
                $(this).removeClass('active'); 
    $(this).next().slideUp("normal");
  } else {
    $('.question').removeClass('active');  
     $('.answer').slideUp('normal');
    if($(this).next().is(':hidden') == true) {
    $(this).addClass('active');
    $(this).next().slideDown('normal');
     }   
  }
   });

  $('.answer').hide();

  $('.expand').click(function(event)
    {$('.question').next().slideDown('normal');
        {$('.question').addClass('active');}
    }
  );

  $('.collapse').click(function(event)
    {$('.question').next().slideUp('normal');
        {$('.question').removeClass('active');}
    }
  );
});

Ответы [ 2 ]

5 голосов
/ 03 июля 2013

Это можно решить гораздо проще.

Просто используйте команду jQuery hide / show для элемента accordion ('.ui-widget-content'), который вы хотите развернуть / свернуть.

* * 1004 пример: * * 1005
$(document).ready(function() {
        $('.expand').click(function() {
            $('.ui-widget-content').show();
        });
        $('.collapse').click(function() {
            $('.ui-widget-content').hide();
        });
});

См. Скрипку: http://jsfiddle.net/ekelly/hG9b5/11/

3 голосов
/ 06 октября 2010

Я бы добавил класс или идентификатор к ссылкам раскрытия и сворачивания, тогда что-то вроде этого будет работать

$(document).ready(function() {
  $("#expand").click(function(){
    ('.answer').slideDown('normal');
  });

  $("#collapse").click(function(){
    ('.answer').slideUp('normal');
  });
}
...