Трехуровневое меню Jquery

memex

Гуру форума
Регистрация
10 Ноя 2006
Сообщения
277
Реакции
53
Есть следующий скрипт:
Код:
function initMenu() {
  $('#nav_categories ul').hide();
  $('#nav_categories li a').click(
    function() {
        $(this).next().slideToggle('normal');    
         if ($('#nav_categories ul:animated').size() == 0) {
            // create a reference to the active element (this)
            // so we don't have to keep creating a jQuery object
            $heading = $(this);
            // create a reference to visible sibling elements
            // so we don't have to keep creating a jQuery object
            $expandedSiblings = $heading.siblings().find('ul:visible');
            $('.active').removeClass();
            $('#'+$(this).children().attr("id")).removeClass().addClass("active");
            if ($expandedSiblings.size() > 0) {
                $expandedSiblings.slideUp(500, function(){
                    $heading.find('ul').slideDown(500);
                });
            }
            else {
                $heading.find('ul').slideDown(1000);
                $('.active').removeClass();
                $('#'+$(this).children().attr("id")).removeClass().addClass("active"); 
            }
        }
      }
    );
  }
$(document).ready(function() {initMenu();});
Пример можно посмотреть здесь.


Вопрос в следующем, как сделать, чтобы при на жатии на меню, происходило сварачивание уже открытого раздела.
 
Вот решение по Вашему скрипту
В данном примере мы создали меню в котором при нажатии на общий раздел выпадают ссылки именно из этого раздела. Для того, чтоб они исчезли, необходимо заново нажать на общий раздел. Иногда это может быть очень неудобно. И именно для этой ситуации в архиве с исходниками находится также файл menu.js. Если Вы его используете вместо файла menu-collapsed.js в коде сверху, тогда при нажатии на другой общий раздел меню, текущий раздел будет автоматически сворачиваться (демо версия такого меню находится здесь).
 
В данном примере мы создали меню в котором при нажатии на общий раздел выпадают ссылки именно из этого раздела. Для того, чтоб они исчезли, необходимо заново нажать на общий раздел. Иногда это может быть очень неудобно. И именно для этой ситуации в архиве с исходниками находится также файл menu.js. Если Вы его используете вместо файла menu-collapsed.js в коде сверху, тогда при нажатии на другой общий раздел меню, текущий раздел будет автоматически сворачиваться (демо версия такого меню находится здесь).
но если идет речь, о трехуровневом вложении такой скрипт будет работать не верно.
 
Назад
Сверху