2017-02-02 2 views
0

Ich habe diesen Code, der den Seitentitel verbergen wird, wenn er sichtbar ist und die Dropdown-Menüschaltfläche angeklickt wird.Jquery - .on ("<auto close>")

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

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

}); 

Dies solange die Drop-Down-Menü funktioniert, ist manuell geöffnet geklickt und geklickt geschlossen. Wenn ich im Menü auf derselben Seite auf einen Ankerlink klicke, scrollt die Seite bis zum richtigen Abschnitt, und das Dropdown-Menü wird automatisch schließen. Dies wird jedoch diesen Code nicht auslösen.

Kann ich erkennen, ob das Menü automatisch geschlossen wird?

Antwort

2

Sie können jQuery $('.site-overlay-toggle .btn').trigger('click') im Ereignis für den Anker verwenden.

0

Wenn Sie Menü wie dies

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

Dieser wie Code wird loke wie beim Menü geschlossen.

Aber wenn Menü offen Code wie dieser

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

sieht So können Sie Funktion .is verwenden („kollabiert“) oder .hasClass („kollabiert“) für wahr, wenn Menü geschlossen und flase wenn ist nicht oder du kannst den Status der Atribute aria-expanded bekommen.

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