jquery, aby przełączyć podmenu, ale zachować podmenu, jeśli strona podmenu jest aktywna
Po prostu próbuję zanurzyć się w jquery i wybaczyć, jeśli to już zostało odebrane. Szukałem, ale nie mogłem znaleźć przykładu odpowiedniego do tego, co próbuję zrobić.
Mam menu pionowe z niektórymi podmenu. Działa tak, że po kliknięciu menu najwyższego poziomu otwiera się podmenu. Problem polega na tym, że chciałbym, aby podmenu pozostało otwarte po kliknięciu jednego z elementów podmenu. Tak jak teraz, po kliknięciu elementu podmenu menu zwija się.
Oto mój kod:
// Add class of drop if item has sub-menu
$('ul.sub-menu').closest('li').addClass('drop');
// Left Sidebar Main Navigation
var menu_ul = $('.menu > li.drop > ul'),
menu_a = $('.menu > li.drop > a');
menu_ul.hide();
menu_a.click(function(e) {
e.preventDefault();
if(!$(this).hasClass('active')) {
menu_a.removeClass('active');
menu_ul.filter(':visible').slideUp('normal');
$(this).addClass('active').next().stop(true,true).slideDown('normal');
} else {
$(this).removeClass('active');
$(this).next().stop(true,true).slideUp('normal');
}
});
Myślę, że jeśli spróbuję przetłumaczyć to, co chcę, na wyraźne zdanie typu kodera, będzie to czytać w ten sposób. Zasadniczo muszę wysłać zapytanie do DOM dla każdego aktywnego menu, które ma podmenu, a jeśli strona pokazuje jedną z pozycji podmenu, wyświetl listę rozwijaną podmenu.