2013-11-19 20 views
1

Я хотел создать меню, когда вы нажмете на ли, что chlildren div с классом .navi-submenu, чтобы класс был активным .. тогда это видно .. это работает .. но он больше не закрывается, если я нажму на время ... Я думаю, что утверждение неверно. Не могли бы вы мне помочь?Открыть/закрыть подменю, нажав

$("#main-navi ul li").click(function(event){ 
    event.preventDefault(); 

    var i = $(this).children(".navi-submenu"); 

    if(i.hasClass("active")){ 
     i.removeClass("active"); 
    }else{ 
     i.addClass("active"); 
    } 
}); 

ответ

1

Попробуйте использовать toggleClass()

$("#main-navi ul li").click(function(event){ event.preventDefault(); 
$(this).find(".navi-submenu").toggleClass('active'); 
}); 

Я изменил функции детей(), чтобы найти(), мне это кажется более надежным, так как он чувствует себя, как дети() ищет прямой дети, а find() смотрит на каждый элемент внутри себя. Это не основано на фактических фактах, кстати, просто предпочтение/чувство кишки, я думаю.

+0

Я пробовал, он лучше, чем первый, потому что он короче, но он добавляет класс и не удаляет его после нажатия на кнопку ... я не знаю, почему :( – Steve

Смежные вопросы