Я использую jQuery для вертикального меню навигации по сайту, все ссылки внутри сайта. У меня работает базовая функциональность, но я затрудняюсь с выбором правильного if-else для выполнения следующего:
При существующем коде элементы подменю всегда изначально скрыты, но я хочу, чтобы они начали показываться, если выбранному пользователем li или одному из его дочерних списков назначена текущая страница класса.
Код в таком виде:
(function(){
$('li:has(ul)')
.click(function(event){
if (this == event.target || $(event.target).parent()[0] == this) {
if ($(this).children('ul').is(':hidden')) {
$(this)
.css('list-style-image','url(minus.gif)')
.children('ul').slideDown();
}
else {
$(this)
.css('list-style-image','url(plus.gif)')
.children('ul').slideUp();
}
}
})
.css({
cursor:'pointer',
'list-style-image':'url(plus.gif)'
})
.children('ul').hide();
$('li:not(:has(ul))').css({
cursor: 'default',
'list-style-image':'none'
});
});
Надеюсь, кто-то может поставить меня на правильный путь.
Боб Маклеод