【问题标题】:Bootstrap navbar collapse after link click链接点击后引导导航栏崩溃
【发布时间】:2014-02-21 15:25:45
【问题描述】:

我有一个 boostrap 导航菜单,其中“我们的项目”部分是可折叠的。当我单击可折叠导航中的链接时,它会折叠。但是,我希望它保持打开状态,并且仅在单击不同的 li 时才折叠(隐藏)(例如“关于”、“联系人”等)。

代码如下:

<ul class="nav masthead-nav" >
        <li class="active" >
          <a href="{% url 'home' %}" >Home page</a>
        </li>
        <li>
          <a href="{% url 'offer' %}" >Offer</a></li>
        <li>
          <a class="accordion-title" data-toggle="collapse" data-target="#projekty" href="#">
            Our Projects
          </a>
          <ul class="nav masthead-nav collapse " id="projekty" >
            <li>
              <a href="{%url 'mieszkaniowe' %}" >Appartments</a>
            </li>
            <li>
              <a href="{%url 'uzyteczne' %}" >Public</a>
            </li>
            <li>
              <a href="{%url 'wnetrza' %}" >Interior design</a>
            </li>
            <li>
              <a href="{%url 'biurowe' %}" >Office</a>
            </li>
            <li>
              <a href="{%url 'konkursy' %}" >Contest</a>
            </li>
            <li>
              <a href="{%url 'pozostale' %}">Others</a>
            </li>
          </ul>

          <li>
              <a href="{% url 'about' %}">About us</a>
          </li>
          <li>
             <a href="{% url 'contact' %}">Contact</a>
          </li>
      </ul>    

【问题讨论】:

  • 我认为我们需要您尝试过的 javascript 代码 :)
  • 可能,这就是它不起作用的原因,因为我不知道如何添加 javascript 代码。我认为它应该像这里描述的那样工作:getbootstrap.com/javascript/#collapse。您能提供有关 javacode 的任何帮助吗?
  • 是的。我想帮忙,我们是来帮忙的。但是这个问题并没有描述您正在努力解决的任何问题。只是对你想要的东西的描述。您提供的网址提供了一个非常清楚的示例,说明您应该使用的类以及 javascript enable with: $('.collapse').collapse()
  • 好的 - 抱歉不够具体。问题是每次我点击“Appartments”、“Public”、“Inter design”、“Office”、“Contest”或“Others”时,手风琴就会崩溃。我希望它保持打开状态,并且仅在单击其他剩余链接时才折叠。如您所见,我对这个主题相当陌生,因此感谢所有帮助!谢谢!
  • 在我砸电脑之前有人吗?!

标签: javascript jquery html css twitter-bootstrap


【解决方案1】:

子菜单链接的区别在于href指向'#',所以我使用反选择器NOT作为

$("nav a").not("a[href='#']").click(function(){
...

【讨论】:

  • 为什么不简单地$('nav ul ul a')
  • 如果你有更深的层次怎么办?你会继续更新脚本吗?
【解决方案2】:

我知道这是旧的,但我只是这样做了:

//close any open menus
    var arrOpenedDivs= document.querySelectorAll(".show");
    for (i = 0; i < arrOpenedDivs.length; i++) {
        arrOpenedDivs[i].classList.remove('show');
    }   

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    • 2023-02-06
    • 1970-01-01
    相关资源
    最近更新 更多