2017-02-02 3 views
0

У меня есть этот код, который скроет заголовок страницы, если он будет виден, и нажата кнопка выпадающего меню.JQuery - .on ("<auto close>")

$('.site-overlay-toggle .btn').on("click", function(){ 

    if ($(".page-title").is(':visible')) { 
     $(".page-title").hide(); 
    } else { 
     $(".page-title").show(); 
    } 

}); 

Это работает до тех пор, как выпадающее меню является вручную щелкнул открытым и закрытым щелкнул. Если я нажму на ссылку привязки в меню на той же странице, страница прокрутит вниз до нужного раздела, и в раскрывающемся меню автоматически закроется. Однако это не вызовет этот код.

Есть ли способ, который я могу обнаружить, если меню автоматически закрывается?

ответ

2

Вы можете использовать jQuery $('.site-overlay-toggle .btn').trigger('click') в случае якоря.

0

Если у вас есть меню, как этот

<button type="btn btn-navbar" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".nav-collapse" aria-expanded="false"> <span class="icon-bar"></span> 

это как код будет Лок, как когда меню закрыто.

Но если меню открыто код выглядит следующим образом

<button type="btn btn-navbar" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse" aria-expanded="true"> <span class="icon-bar"></span> 

Таким образом, вы можете использовать функцию .а («развалились») или .hasClass («развалились») для получения истинно, если меню закрыто и flase если isn't, или вы можете получить состояние арибуды арии.

http://api.jquery.com/is/