Twenty Fifteen: Verhalten des Navigationsmenüs ändern

Dies ist der JS-Code, der für das Hauptnavigationsmenü im Thema Twenty Fifteen verantwortlich ist:

function initMainNavigation( container ) { // Add dropdown toggle that display child menu items. container.find( '.menu-item-has-children > a' ).after( '' ); // Toggle buttons and submenu items with active children menu items. container.find( '.current-menu-ancestor > button' ).addClass( 'toggle-on' ); container.find( '.current-menu-ancestor > .sub-menu' ).addClass( 'toggled-on' ); container.find( '.dropdown-toggle' ).click( function( e ) { var _this = $( this ); e.preventDefault(); _this.toggleClass( 'toggle-on' ); _this.next( '.children, .sub-menu' ).toggleClass( 'toggled-on' ); _this.attr( 'aria-expanded', _this.attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' ); _this.html( _this.html() === screenReaderText.expand ? screenReaderText.collapse : screenReaderText.expand ); } ); } initMainNavigation( $( '.main-navigation' ) ); 

Das Standardverhalten besteht darin, alle geöffneten Untermenüs zu belassen, wenn auf ein anderes geklickt wird. Ich möchte diesen Code ändern, damit alle geöffneten Untermenüs geschlossen werden, wenn auf einen anderen geklickt wird. Ist das möglich?

Jede Hilfe wäre willkommen.

Danke im Voraus

Solutions Collecting From Web of "Twenty Fifteen: Verhalten des Navigationsmenüs ändern"

Falls jemand interessiert ist, denke ich, dass ich eine Lösung gefunden habe. e.preventDefault(); einfach die folgenden zwei Codezeilen direkt nach e.preventDefault(); Zeile und vor der _this.toggleClass( 'toggle-on' ); ein:

 container.find( '.dropdown-toggle.toggle-on' ).not( _this ).not( _this.parents( '.children, .sub-menu' ).prev( '.dropdown-toggle' ) ).removeClass( 'toggle-on' ).attr( 'aria-expanded', false ); container.find( '.children.toggled-on, .sub-menu.toggled-on' ).not( _this.next( '.children, .sub-menu' ) ).not( _this.parents( '.children, .sub-menu' ) ).removeClass( 'toggled-on' ); 

Ich weiß nicht, ob es einen besseren Weg gibt, aber das scheint so zu funktionieren, wie ich es will.