JQuery меню - проблема переключения - PullRequest
2 голосов
/ 26 мая 2011

Чтобы увидеть, в чем проблема, см. Код на jsFiddle . Есть ли способ установить список с классом "menutop", чтобы он действовал как класс "toogle" (+), другими словами, когда нажимаете сообщения, страницы и т. д. раскрывается подменю.

Второе, что меня беспокоит, - это настроить меню так, чтобы при открытии одного подменю и нажатии пользователем какого-либо другого подменю открытое предыдущее автоматически закрывалось.

Ответы [ 2 ]

1 голос
/ 26 мая 2011

Я назвал функцию в обработчике toogle и вызвал ее из menutop, установив элемент класса переключения как «this», чтобы он выглядел более привычным для вас.

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

function hitMe(){
   if ($(this) .hasClass('toggle-open')) {
     $(this) .removeClass('toggle-open') .addClass('toggle-closed') .empty('') .append('+') .parents('li') .children('ul') .slideUp(250);
     $(this) .parent('.menutop') .removeClass('menutop-open') .addClass('menutop-closed');
   }else{
     $(".toggle-open").parent().click();//closes the previously opened menu
     $(this) .parent('.menutop') .removeClass('menutop-closed') .addClass('menutop-open');
     $(this) .removeClass('toggle-closed') .addClass('toggle-open') .empty('') .append('–') .parents('li') .children('ul') .slideDown(250);
 }
}

$(".menutop").click(function(){
     hitMe.apply(
         $(this).find(".toggle")
     );
}
);
1 голос
/ 26 мая 2011

Вот ревизия. Добавлена ​​функция закрытия всех, а затем я также добавил обработчик щелчков для класса верхнего меню, который по сути делает то же самое для расширения вкладок.Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...