如何使菜单默认展开

Posted

技术标签:

【中文标题】如何使菜单默认展开【英文标题】:How to make the mmenu default expanded 【发布时间】:2015-01-11 14:03:34 【问题描述】:

我在我的应用程序中使用Jquery mmenu。我的菜单包含子菜单。只有当用户单击主菜单项时,子菜单才会展开。当用户单击菜单按钮时,我希望它默认展开。这怎么可能?我已经初始化如下。

$(document).ready(function () 
console.log('mmenu loading');
$("#menu").mmenu(
    slidingSubmenus: false
);

);

非常感谢任何帮助。

谢谢

【问题讨论】:

如果有多个子菜单,你还想让所有的菜单在同一个主菜单下打开吗? 感谢您的回复。我只有两个级别,菜单和子菜单。无论如何,如果有一个方法可以扩展,即使有两个以上的级别。 您也许可以将您的菜单按钮点击保存到浏览器的会话中,并且每当您再次加载页面时,您可以检查之前是否从会话中点击了菜单按钮(sessionStorage 对象)。 w3schools.com/html/html5_webstorage.asp 【参考方案1】:

您可以将类(“mm-opened”)赋予具有子菜单的菜单。

<nav id="menu">
            <ul>
                <li><a href="#">Home</a></li>
                //MENU WITH SUBMENU ADD CLASS mm-opened
                <li class="mm-opened">
                    <a href="#about">About us</a>
                    <ul>
                        <li><a href="#about/history">History</a></li>
                        <li> <a href="#about/team">The team</a></li>
                        <li><a href="#about/address">Our address</a></li>
                    </ul>
                </li>
                <li><a href="#contact">Contact</a></li>
            </ul>
</nav>

AND 滑动子菜单为 false。

$("#menu").mmenu(
    slidingSubmenus: false
);

【讨论】:

非常感谢。对于始终打开的菜单,我们可以动态添加它。例如 $("#menu").mmenu( rollingSubmenus: false ).on("opened.mm", function() var element = $('#menu li'); element.each(function() $(this).addClass('mm-opened'); ); ) 哦,是的。很高兴它对您有所帮助。 如果子菜单项上的展开/折叠界面(一旦slidingSubmenus 设置为false 就会出现)感觉有点不必要,那么现在将以下内容添加到css 中可能是个好主意:. mm-next 显示:无!重要;

以上是关于如何使菜单默认展开的主要内容,如果未能解决你的问题,请参考以下文章

如何使 HTML 可折叠按钮默认为展开?

IOS - 如何使默认的后退按钮调用展开segue

下拉菜单 第一个按钮里的内容怎么默认展开?

织梦产品页折叠菜单,进入定位默认展开

WIN11右键菜单默认展开

如何设置win10打开资源管理器此电脑一直为展开状态 - win10 默认展开此电脑