【问题标题】:Submenu in navbar is collapsing after click on link单击链接后,导航栏中的子菜单折叠
【发布时间】:2015-01-07 18:54:44
【问题描述】:

我的 Web 应用程序左侧有一个导航栏,菜单的每个项目都有一个可展开的子菜单来浏览页面。不幸的是,每次我单击子菜单的链接之一时,都会加载新页面,但子菜单会再次折叠。我希望在单击其中一个链接后仍会展开子菜单。

这是我的代码:

<div class="container-fluid">
    <div class="row">
        <div class="col-md-3">
            <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
                <div class="nav-header panel panel-default">
                    <a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="false" aria-controls="collapseOne">
                        <div class="panel-heading" role="tab" id="headingOne">
                            <h4 class="panel-title">
                                <span class="glyphicon glyphicon-th"></span>Cluster
                            </h4>
                        </div>
                    </a>
                    <div id="collapseOne" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne">

                        <div class="panel-body">
                            <div class="nav-item"><span class="glyphicon glyphicon-eye-open"></span>@Html.ActionLink("overview", "ClusterAll", "Cluster", new { area = "" }, new { @class = "nav-item", style = "text-decoration:none;" })</div>
                            <div class="nav-item"><span class="glyphicon glyphicon-plus"></span>@Html.ActionLink("create", "ClusterCreation", "Cluster", new { area = "" }, new { @class = "nav-item", style = "text-decoration:none;" })</div>
                            <div class="nav-item"><span class="glyphicon glyphicon-pencil"></span>@Html.ActionLink("edit", "ClusterEdit", "Cluster", new { area = "" }, new { @class = "nav-item", style = "text-decoration:none;" })</div>
                        </div>
                    </div>
                </div>
                <div class="nav-header panel panel-default">
                    <a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">

                        <div class="panel-heading" role="tab" id="headingTwo">
                            <h4 class="panel-title">
                                <span class="glyphicon glyphicon-hdd"></span>Applications
                            </h4>
                        </div>
                    </a>
                    <div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
                        <div class="panel-body">
                            <div class="nav-item"><span class="glyphicon glyphicon-ok"></span>@Html.ActionLink("verify", "ApplicationPortfolioEdit", "Applications", new { area = "" }, new { @class = "nav-item", style = "text-decoration:none;" })</div>
                            <div class="nav-item"><span class="glyphicon glyphicon-list-alt"></span>@Html.ActionLink("manage", "ApplicationMassEdit", "Applications", new { area = "" }, new { @class = "nav-item", style = "text-decoration:none;" })</div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

实际菜单有更多项目,这只是一个示例,有 2 个项目向您展示。 单击其链接后,我必须做些什么来保持子菜单的扩展? 我对网页设计很陌生,但我希望你能帮助我:)

【问题讨论】:

    标签: javascript html css asp.net-mvc twitter-bootstrap


    【解决方案1】:

    如果我得到你想要做的事情,你可以将打开的子菜单作为 # 参数传递到你的 url 中,这样当他们点击指向新页面的链接时,你可以让 Javascript/jQuery 读取 # 并打开正确的子菜单。

    像这样..

    &lt;a href="page.html#menuItemClicked"&gt;Applications&lt;/a&gt;

    然后我们可以用 Javascript 和 jQuery 来阅读它。

    $(document).ready(function() {
      
      hash = window.location.hash;
      
      $(hash).collapse('show');
      
    });

    我们可以使用$(hash).collapse('show'); 来显示内容,因为您使用的是 Bootstrap。

    但这给人的印象是我明白你想说什么。 :)

    【讨论】:

      猜你喜欢
      • 2018-05-27
      • 2019-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-23
      • 1970-01-01
      • 1970-01-01
      • 2019-12-16
      相关资源
      最近更新 更多