Я пытаюсь создать вертикальное меню аккордеона для веб-сайта, над которым я работаю. Это мой первый раз когда-либо делал что-либо с jquery. Я смог получить рабочее меню так, как хочу, за исключением нескольких вещей.JQuery Accordion Menu - Сохранить выбранное меню Open
1) Мне нужно меню, которое будет расширяться в зависимости от того, какая страница загружена, если вы нажмете на элемент во втором меню, тогда второе меню необходимо развернуть, когда страница перезагружается. Меню не остается расширенным, когда вы нажимаете и загружаете новую страницу из меню. При перезагрузке страницы он просто полностью разрушается, пока вы не нажмете на заголовок, чтобы развернуть его снова. Я искал онлайн в течение нескольких дней и не могу найти ничего, что я могу использовать для решения этой проблемы. Я рассмотрел использование плагина jQuery cookie и просто проверил, какая страница загружена в данный момент, и используя это, чтобы определить, какое меню необходимо расширить, но я не могу заставить их работать.
2) Мое меню только расширяется при нажатии, оно не рушится при повторном нажатии. Возможно ли свернуть одно и то же меню, которое вы просто расширили, нажав снова?
Вот JS файл я создал:
function initMenu() {
$('#menu ul').hide();
$('#menu li a').click(function() {
var checkElement = $(this).next();
if ((checkElement.is('ul')) && (checkElement.is(':visible'))) {
$(this).siblings().removeClass("selected");
return false;
}
if ((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
$('#menu ul:visible').slideUp('normal');
checkElement.slideDown('normal');
if (!$(this).hasClass("selected")) {
// Remove the class from anything that is active
$("a.selected").removeClass("selected");
// And make this active
$(this).addClass("selected");
}
return false;
}
});
}
$(document).ready(function() {
initMenu();
});
Вот jsfiddle для полного HTML и CSS, а также: http://jsfiddle.net/CShsY/
Спасибо.
Может быть проверка плагин, который имеет те варианты, уже построенные для вас. http://webcloud.se/jQuery-Collapse/ – ferne97