http://jsfiddle.net/5rkrq4bw/
jquery code
Код: Выделить всё
// Side Menu Starts
$('.SideNav .Menu a.MenuDrop').click(function(event){
event.preventDefault();
if(!$(this).hasClass('Active')) {
if(!$(this).parent().parent().hasClass('Active') && $(this).next().hasClass('sub-menu')) {
$(this).next().slideToggle();
$(this).addClass('Active');
} else {
$('.SideNav .Menu li ul').slideUp();
$(this).next().slideToggle();
$('.SideNav .Menu a.MenuDrop').removeClass('Active');
$(this).addClass('Active');
}
}
});
//Side Menu Ends
Пытаясь интегрировать несколько уровней, я обнаружил проблему: одновременно можно открыть только один уровень и проверить, открыты ли другие, чтобы закрыть их.
Что должно произойти
Демо
- Категория
Подкатегория
Ссылка - Ссылка
- Ссылка
- Ссылка
- Ссылка
- Ссылка
[*]Категория
- Подкатегория
Ссылка - Ссылка
- Ссылка
- Ссылка
- Ссылка
- Ссылка
Пояснение
[*]Одновременно может быть расширена только одна «Категория».
[*]Одновременно может быть расширена только одна «Подкатегория».
[*]Добавление/удаление «Активного» класса.
Подробнее здесь: https://stackoverflow.com/questions/280 ... -accordion