我正在尝试使用我在此处找到的多级推送菜单:
http://tympanus.net/codrops/2013/08/13/multi-level-push-menu/
也有源。我已经调整了源代码,以我想要的方式工作。我在php中有一些部分,这样当我从一个页面到另一个页面时,部分的重新加载很少。
我无法坚持的一个部分是左侧的实际菜单。当我点击链接时,菜单消失/完全折叠。有谁知道如何调整这个以便在页面导航时保存菜单状态?
谢谢!
答案 0 :(得分:0)
在他们的博客上建议在'_init'方法中将'this.open'更改为'true'。
_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 multi-level push menu plug-in,然后在离开页面之前确定当前菜单状态:
var $activeMenu = $( '#menu' ).multilevelpushmenu( 'activemenu' );
此后,您可以发布任何数据(例如'id')
var menuID = $activeMenu.attr( 'id' );
到下一页并在那里使用它来使用'expand'方法再次查找和展开相同的菜单级别。
$( '#menu' ).multilevelpushmenu( 'expand', $( '#' + menuID ) );