【问题标题】:Always show bootstrap drop down list item, when that item is clicked or navigated to当单击或导航到该项目时,始终显示引导下拉列表项目
【发布时间】:2013-08-01 04:28:27
【问题描述】:

类似于:How to Display Selected Item in Bootstrap Button Dropdown Title

我有一个两级引导菜单。我希望在选择并导航到某个项目时,始终显示该项目所在的下拉列表。这是我的精简版代码:

<ul class="menu-system">
<li class="active">
<a href="#">Location</a>
</li>
<li class="dropdown">
    <a href="#" class="dropdown-toggle menu-item" data-toggle="dropdown"> Top level Option 1</a>
    <ul class="dropdown-menu">
        <li><a href="#"> Option 1</a></li>
        <li><a href="#"> Option 2</a></li>
        <li><a href="#"> Option 3</a></li>
        <li><a href="#"> Option 4</a></li>
    </ul>
</li>

示例:当顶级选项 1> 选项 1 页面处于活动状态时,我想显示下拉菜单。它目前所做的只是显示顶级菜单。由于它是一个引导下拉菜单,因此默认情况下会显示这是下拉菜单应该工作的正确方式。不知道我是否可以让它动态显示。无论用户是否单击它或该页面上的任何其他内容,都应始终显示此内容。

我正在使用 ASP.NET 应用程序。我不确定这与活动标签有关,或者我是否必须编写一些 javascript/jquery 代码来获取当前页面并显示适当的下拉菜单。

非常感谢任何帮助。

JSFiddle:jsfiddle.net/yZ8C6

【问题讨论】:

  • 您可以创建一个jsfiddle.net 来解决您的问题吗?这将使工作更容易......
  • jsfiddle.net/yZ8C6 - CSS 只是默认的,不是我网站上的实际 CSS。但是功能是一样的。

标签: html css twitter-bootstrap


【解决方案1】:

好吧,我先说我无法让它在 jsfiddle 中正常工作,因为当点击命名链接时它不会重新加载页面,但我相信这应该会有所帮助

$('.dropdown-menu li a').each(function() {
    if($(location).attr('href').indexOf($(this).attr('href')) > 0) {
         $('.dropdown-menu').show();
    } 
});

所以我们在这里所做的是检查每个列表项上的链接 href 并检查它是否包含在页面链接中。如果其中任何一个匹配,下拉菜单将设置为显示。由于引导程序使用visibilityshow() 使用display:block,当您停止悬停时,show() 应该覆盖visibility: hidden

看看你是怎么做的——你可能需要根据自己的目的稍微修改一下

http://jsfiddle.net/yZ8C6/1/

如果您单击其中一个链接然后仅重新加载输出帧,您可以让小提琴工作

【讨论】:

  • 今天试一试,你的回答似乎很合乎逻辑,但我必须像你说的那样稍微调整一下。
  • else 语句将可见性设置为可见的意义何在?我有一个问题,我的菜单中有多个下拉菜单,并且我已成功编码以根据您的代码单独显示每个下拉菜单:)。但是当您单击另一个下拉菜单时,我仍然想要菜单的功能,我们刚刚显示的固定菜单应该消失,而另一个应该仅在单击菜单时相应显示。因为此刻它们彼此重叠。
  • 你是对的 - 没有意义。我会编辑答案。本来有的,但是忘记拿出来了
  • 任何关于我所说的问题的说明都会很棒。
  • 对不起,你能根据你所在的位置创建另一个 jsfiddle 吗?
猜你喜欢
  • 2013-09-02
  • 2019-04-26
  • 1970-01-01
  • 2013-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多