我正在尝试使用我在此处找到的多级推送菜单:
http://tympanus.net/codrops/2013/08/13/multi-level-push-menu/
来源也在那里。我已经调整了源代码以按照我想要的方式工作。我在 php include 中有一些片段,这样当我从一个页面转到另一个页面时,可以最大限度地减少部分的重新加载。
我无法坚持的部分是左侧的实际菜单。当我单击链接时,菜单消失/完全折叠。有谁知道我如何调整它以便在从一个页面导航到另一个页面时保存菜单状态?
谢谢!
最佳答案
在他们的博客上建议将“_init”方法中的“this.open”更改为“true”。
_init : function() {
...
this.open = true;
但是这对我不起作用!
在初始化时调用“_openMenu()”方法,紧接在“this._init()”之后将扩展菜单,但可能会给 body 点击的事件监听器带来问题...
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' );
到下一页并在其中使用“展开”方法再次查找和展开相同的菜单级别。
$( '#menu' ).multilevelpushmenu( 'expand', $( '#' + menuID ) );
关于php - 逐页多级推送菜单状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18620638/