移动菜单崩溃无法使用scrollspy

时间:2017-02-10 18:09:34

标签: jquery html css twitter-bootstrap

嗨,当我启用移动菜单折叠时,它会停止滚动工作。

它们都可以单独工作但不能一起工作,这是引导程序的限制吗?

这是我的导航栏代码:

<body data-spy="scroll" data-target=".navbar" data-offset="80">
  <!-- Navigation -->
  <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
    <div class="container">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="index.html">Davies Builders Stoke Ltd</a>
        </div>
        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse">
            <ul class="nav navbar-nav navbar-right" id="navigation">
                <li>
                    <a data-toggle="collapse" data-target=".navbar-collapse.in" href="#about">About</a>
                </li>
                <li>
                    <a data-toggle="collapse" data-target=".navbar-collapse.in" href="#services">Services</a>
                </li>
                <li>
                    <a data-toggle="collapse" data-target=".navbar-collapse.in" href="#partners">Partners</a>
                </li>
                <li>
                    <a data-toggle="collapse" data-target=".navbar-collapse.in" href="#contact">Contact</a>
                </li>

            </ul>
        </div>
        <!-- /.navbar-collapse -->
    </div>
    <!-- /.container -->
</nav>

下面的div有正确的ID,从每个data-toggle="collapse" data-target=".navbar-collapse.in"删除#navigations a会导致scrollspy工作正常。

2 个答案:

答案 0 :(得分:0)

bootstrap的限制无法使用.navbarscrollspy折叠,以下代码可以解决此问题。

$('.navbar-collapse a').click(function (e) {
    if  (window.innerWidth < 768){
      $('.navbar-collapse').collapse('toggle');
    }
  });

答案 1 :(得分:0)

我有同样的问题,通过将data-toggle="collapse" data-target=".navbar-collapse.in"移动到li元素来解决它。

像:

<li data-toggle="collapse" data-target=".navbar-collapse.in"> <a href="#about">About</a> </li>