我的bootstrap scrollspy是什么?

时间:2016-04-28 11:08:57

标签: jquery scrollspy

我只想尝试使用Bootstrap Navbar的卷轴,但它不起作用。无论我点击哪个菜单,<li><a href="section4"></li>项始终处于活动状态。如果我删除date-spy =&#34;滚动&#34;数据目标=&#34;#myNavbar&#34;在身体和脚本的底部,李活跃是好的。

    <head><meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
    <!--<link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">-->
    <link rel="stylesheet" type="text/css" href="css/style.css">


    <script src="js/jquery-1.12.3.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script src="js/script.js?rand=<?php echo rand(); ?>"></script>
</head>
<body data-spy="scroll" data-target="#myNavbar">
    <nav class="navbar navbar-inverse navbar-fixed-top">
        <div class="container-fluid">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>                        
                </button>
                <a class="navbar-brand" href="#">TEST</a>
            </div>
            <div>
                <div class="collapse navbar-collapse" id="myNavbar">
                    <ul class="nav navbar-nav">
                        <li><a href="#section1">Section 1</a></li>
                        <li><a href="#section2">Section 2</a></li>
                        <li><a href="#section3">Section 3</a></li>
                        <li><a href="#section4">Section 4</a></li>
                    </ul>
                </div>
            </div>
        </div>
    </nav>

    <div id="section1" class="container-fluid">
        <h1>Section 1</h1>
        <p>Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!</p>
        <p>Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!</p>
    </div>
    <div id="section2" class="container-fluid">
        <h1>Section 2</h1>
        <p>Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!</p>
        <p>Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!</p>
    </div>
    <div id="section3" class="container-fluid">
        <h1>Section 3</h1>
        <p>Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!</p>
        <p>Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!</p>
    </div>
    <div id="section4" class="container-fluid">
        <h1>Section 4</h1>
        <p>Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!</p>
        <p>Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!</p>
    </div>

    <script>
        $('body').scrollspy({
            target: '#myNavbar',
            offset: 50
        });
    </script>
</body>

2 个答案:

答案 0 :(得分:0)

您需要将jQuery包装在文档就绪包装器

$(document).ready(function(){
        $('body').scrollspy({
            target: '#myNavbar',
            offset: 50
        });
})

我也在其他文档中发现了这一点,您可能没有在CSS中使用它:

需要相对定位:带有data-spy的元素=&#34;滚动&#34;需要CSS position属性,值为&#34; relative&#34;工作正常。

答案 1 :(得分:0)

我不知道为什么,html文件需要在文件顶部添加 <!DOCTYPE html> 。而且scrollspy也可以。