从页面到页面的多级推送菜单状态

时间:2013-09-04 17:52:44

标签: php javascript html menu

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

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

也有源。我已经调整了源代码,以我想要的方式工作。我在php中有一些部分,这样当我从一个页面到另一个页面时,部分的重新加载很少。

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

谢谢!

1 个答案:

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