2

我正在尝试使用在这里找到的多级推送菜单:

http://tympanus.net/codrops/2013/08/13/multi-level-push-menu/

源也可以在那里找到。我已经调整了源代码以按照我想要的方式工作。我在 php 中包含了一些片段,因此当我从一个页面转到另一个页面时,重新加载部分的次数最少。

我无法坚持的一个部分是左侧的实际菜单。当我点击一个链接时,菜单消失/完全折叠。有谁知道我可以如何调整它以便在从页面导航到页面时保存菜单状态?

谢谢!

4

1 回答 1

0

在他们的博客上建议在 '_init' 方法中将 'this.open' 更改为 'true'。

_init : function() {
...
this.open = true;

然而,这对我不起作用!

在初始化时调用 '_openMenu()' 方法,就在 'this._init()' 之后将展开菜单,但可能会为 body click 的事件侦听器带来问题......

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 ) );

于 2013-11-15T09:28:26.110 回答