【问题标题】:How to close(hide) menu on mobile when menu item is clicked单击菜单项时如何在移动设备上关闭(隐藏)菜单
【发布时间】:2015-09-04 09:37:53
【问题描述】:

我的网站在手机上显示时出现问题。我有一个按钮可以打开带有菜单项的“表格”。当我单击某个菜单项时,会打开正确的页面,但没有关闭带有菜单项的“表格”。只有当我再次点击菜单按钮时它才会关闭。

我尝试了此处提供的针对类似情况的所有解决方案,但没有一个对我有用。 有谁知道我该如何解决这个问题? 提前致谢!

这是我的代码:

在头标签中:

<script src="js/jquery-1.11.1.min.js"></script>  
<script src="js/templatemo_custom.js"></script>
<script src="js/jquery.lightbox.js"></script>
<script src="js/bootstrap-collapse.js"></script> 

在正文标签中:

<nav class="navbar navbar-default" role="navigation">
          <div class="container-fluid"> 
            <!-- Brand and toggle get grouped for better mobile display -->           
            <div class="navbar-header">
              <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                <span class="sr-only">Toggle navigation</span> 
                <span class="icon-bar"></span> 
                <span class="icon-bar"></span> 
                <span class="icon-bar"></span>
              </button>
            </div>           
            <div id="top-menu">
              <div class="collapse navbar-collapse main_menu" id="bs-example-navbar-collapse-1">
                <ul class="nav navbar-nav">
                  <li><a class="show-1 templatemo_home" data-toggle="collapse" data-target=".in" href="#"><span class="fa fa-home"></span>Početna</a></li>
                  <li><a class="show-1 templatemo_page3" data-toggle="collapse" data-target=".in" href="#"><span class="fa fa-users"></span>Čime se bavimo</a></li>
                  <li><a class="show-1 templatemo_page5" data-toggle="collapse" data-target=".in" href="#"><span class="fa fa-medkit"></span>Terapija</a></li>
                  <li><a class="show-1 templatemo_page2" data-toggle="collapse" data-target=".in" href="#"><span class="fa fa-picture-o"></span>Galerija</a></li>
                  <li><a class="show-1 templatemo_page4" data-toggle="collapse" data-target=".in" href="#"><span class="fa fa-envelope"></span>Kontakt i lokacija</a></li>
                </ul>
              </div>
            </div>        
            <!-- /.navbar-collapse --> 
          </div>
          <!-- /.container-fluid --> 
    </nav>

【问题讨论】:

    标签: javascript jquery html navbar nav


    【解决方案1】:

    您必须为此使用 javascript。试试下面的代码。

    <script>
      function closeFunction()
      { 
         document.getElementById('bs-example-navbar-collapse-1').style.display='none';
      }
    </script>
    <nav class="navbar navbar-default" role="navigation">
              <div class="container-fluid"> 
                <!-- Brand and toggle get grouped for better mobile display -->           
                <div class="navbar-header">
                  <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                    <span class="sr-only">Toggle navigation</span> 
                    <span class="icon-bar"></span> 
                    <span class="icon-bar"></span> 
                    <span class="icon-bar"></span>
                  </button>
                </div>           
                <div id="top-menu">
                  <div class="collapse navbar-collapse main_menu" id="bs-example-navbar-collapse-1">
                    <ul class="nav navbar-nav">
                      <li><a class="show-1 templatemo_home" onclick="closeFunction()" data-toggle="collapse" data-target=".in" href="#"><span class="fa fa-home"></span>Početna</a></li>
                      <li><a class="show-1 templatemo_page3" onclick="closeFunction()" data-toggle="collapse" data-target=".in" href="#"><span class="fa fa-users"></span>Čime se bavimo</a></li>
                      <li><a class="show-1 templatemo_page5"onclick="closeFunction()" data-toggle="collapse" data-target=".in" href="#"><span class="fa fa-medkit"></span>Terapija</a></li>
                      <li><a class="show-1 templatemo_page2" data-toggle="collapse" data-target=".in" href="#"><span class="fa fa-picture-o"></span>Galerija</a></li>
                      <li><a class="show-1 templatemo_page4" onclick="closeFunction()" data-toggle="collapse" data-target=".in" href="#"><span class="fa fa-envelope"></span>Kontakt i lokacija</a></li>
                    </ul>
                  </div>
                </div>        
                <!-- /.navbar-collapse --> 
              </div>
              <!-- /.container-fluid --> 
        </nav>
    

    【讨论】:

    • 感谢您的回答。它解决了我最初的问题-现在单击菜单项时带有菜单项的“表格”关闭,但是单击之后,菜单按钮不再起作用(“表格”仅打开一次,当我第一次单击时按钮,当我单击菜单项时,无法再打开带有菜单项的“表格”。
    • 在旧脚本行之后在同一函数中尝试此代码:- document.getElementById('bs-example-navbar-collapse-1').style.display='block';
    • 现在我要重新开始了 - 当我单击项目时,带有菜单项的“表格”不会隐藏。另外,现在当我再次点击菜单按钮时,“表格”并没有真正隐藏,它只是“消失”了..
    【解决方案2】:

    我找到了解决问题的方法:)

    除了 Omkar 解决方案之外,应该还有一个功能 - 按钮本身:

     <script>
      function closeFunction()
      { 
          document.getElementById('bs-example-navbar-collapse-1').style.display = "none";
    
      }
      function openFunction(){
        document.getElementById('bs-example-navbar-collapse-1').style.display = "initial";
      }
    </script> 
         <nav class="navbar navbar-default" role="navigation">
              <div class="container-fluid"> 
                <!-- Brand and toggle get grouped for better mobile display -->           
                <div class="navbar-header">
                  <button type="button" class="navbar-toggle collapsed" onclick="openFunction()" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                    <span class="sr-only">Toggle navigation</span> 
                    <span class="icon-bar"></span> 
                    <span class="icon-bar"></span> 
                    <span class="icon-bar"></span>
                  </button>
                </div>           
                <div id="top-menu">
                  <div class="collapse navbar-collapse main_menu" id="bs-example-navbar-collapse-1">
                    <ul class="nav navbar-nav">
                      <li><a class="show-1 templatemo_home" onclick="closeFunction()"  data-toggle="collapse" data-target=".in" href="#"><span class="fa fa-home"></span>Početna</a></li>
                      <li><a class="show-1 templatemo_page3" onclick="closeFunction()" data-toggle="collapse" data-target=".in" href="#"><span class="fa fa-users"></span>Čime se bavimo</a></li>
                      <li><a class="show-1 templatemo_page5" onclick="closeFunction()" data-toggle="collapse" data-target=".in" href="#"><span class="fa fa-medkit"></span>Terapija</a></li>
                      <li><a class="show-1 templatemo_page2" onclick="closeFunction()" data-toggle="collapse" data-target=".in" href="#"><span class="fa fa-picture-o"></span>Galerija</a></li>
                      <li><a class="show-1 templatemo_page4" onclick="closeFunction()" data-toggle="collapse" data-target=".in" href="#"><span class="fa fa-envelope"></span>Kontakt i lokacija</a></li>
                    </ul>
                  </div>
                </div>        
                <!-- /.navbar-collapse --> 
              </div>
              <!-- /.container-fluid --> 
        </nav>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-03
      • 1970-01-01
      相关资源
      最近更新 更多