Я пытаюсь использовать многоуровневое меню push, которое я нашел здесь:
Источник также доступен там. Я адаптировал источник, чтобы работать МОСТНО так, как я хочу. У меня есть части в php, так что есть минимальная перезагрузка частей, когда я перехожу со страницы на страницу.
Единственной частью, которую я не могу придерживаться, является фактическое меню с левой стороны. Когда я нажимаю на ссылку, меню исчезает / полностью рушится. Кто-нибудь знает, как я могу адаптировать это, чтобы сохранить состояние меню при навигации со страницы на страницу?
Благодаря!
В своем блоге предлагается изменить «this.open» на «true» в методе «_init».
_init : function() { ... this.open = true;
Однако это не помогло мне!
Вызов метода _openMenu () во время инициализации, сразу после того, как this._init () будет расширять меню, но потенциально может вызвать проблемы с прослушивателем событий для нажатия кнопки …
function mlPushMenu( el, trigger, options ) { this.el = el; this.trigger = trigger; this.options = extend( this.defaults, options ); // support 3d transforms this.support = Modernizr.csstransforms3d; if( this.support ) { this._init(); this._openMenu(); // added } }
Вторая возможность:
Если вы хотите «сохранить» точную позицию меню, возможно, вы можете использовать следующий многоязычный плагин jQuery для многоуровневого меню , а затем перед выходом из страницы определить текущее состояние меню:
var $activeMenu = $( '#menu' ).multilevelpushmenu( 'activemenu' );
После этого вы можете публиковать любые данные из него (например, «id»)
var menuID = $activeMenu.attr( 'id' );
на следующую страницу и использовать его там, чтобы снова найти и расширить тот же уровень меню, используя метод «expand».
$( '#menu' ).multilevelpushmenu( 'expand', $( '#' + menuID ) );