Настройка поведения JQuery Accordion

Я использую виджет аккордеона JQuery. Мне нужен простой общий пример, который показывает, как настроить аккордеон на наборе div. Когда пользователь выбирает/расширяет/активирует один из div, этот div должен выглядеть иначе (например, изменить цвет фона), чем другие div. Можно ли это сделать, просто используя функциональность аккордеона? Или это нужно делать дополнительным javascript?

Обратите внимание, что я использую аккордеон, документированный по адресу http://docs.jquery.com/UI/Accordion


person Dhwanil Shah    schedule 27.02.2010    source источник


Ответы (1)


Поскольку виден только расширенный элемент div, почему бы просто не установить фон для всех них?

Активный контент имеет класс ui-accordion-content-active. Вы можете перезаписать стиль для этого класса.

Другой вариант — подключиться к событию change (копировать/вставить из документов):

$('.ui-accordion').bind('accordionchange', function(event, ui) {
  ui.newHeader // jQuery object, activated header
  ui.oldHeader // jQuery object, previous header
  ui.newContent // jQuery object, activated content
  ui.oldContent // jQuery object, previous content
});

Например:

$('.ui-accordion').bind('accordionchange', function(event, ui) {
  ui.newContent.addClass('myHighlight');
  ui.oldContent.removeClass('myHighlight');
});
person Konrad Garus    schedule 27.02.2010
comment
Спасибо! Это именно то, что я искал. - person Dhwanil Shah; 27.02.2010