HopeStreet
HopeStreet

Reputation: 35

Scrollspy in Boostrap 3 not working

I've searched and searched and can't seem to find my issue. I apologize if this is answered somewhere else. I inherited a "simple" site that needs scrollspy implemented and I can't get anything to work for the life of me. Here are some excerpts from the code:
HTML NAV

<div class="row" style="width:100%" id="topnav">
    <nav id="anchored" role="navigation">
        <a href="#top" class="logo"></a>
            <ul class="nav top-menu fade-in">
                <li class="mission_anchor"><a href="#services" class="">SERVICES</a></li>
                <li class="stories"><a href="#about" class="">ABOUT</a></li>
                <li class="supporters_anchor"><a href="#demo" class="">REQUEST DEMO</a></li>
            </ul>
    </nav>
</div>

<br />

SAMPLE OF FIRST "SERVICES DIV"

<section class="module content">
    <div  id="services" class="row">
        <div class="col-md-6 col-md-offset-3 text-center">
            <h1>HOW SUPER AGENT MARKETING CAN HELP YOUR AGENTS</h1>


<br />

JAVASCRIPT

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script>
 $(document).ready(function(){
     $("#topnav").on("activate.bs.scrollspy", function(){
         alert('smomething happened')
     });
     $('#topnav').affix({
         offset: {
             top: 0
         }
     });
     $('body').scrollspy({ target: '#topnav' });

<br />

Full demo site can be found here:Demo Site

Any help would be greatly appreciated as I'm sure it is probably something minor I am overlooking but haven't been able to find in 6 hours of playing with it.

Upvotes: 1

Views: 293

Answers (1)

Ali Gamal
Ali Gamal

Reputation: 42

in order to use bootstrap scrollspy your navigation have to be as bootstrap's navigation . build your NAV as this link below and it will work http://getbootstrap.com/components/#navbar

try the below example.

$(function(){
  $('body').scrollspy({ target: '#myNav' })
})
section > div[id]{
  height:800px;
  padding-top:50px;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>

<nav id="myNav" class="navbar navbar-default navbar-fixed-top">
  <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>
      <a class="navbar-brand" href="#">Brand</a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="mission_anchor active"><a href="#services" class="">SERVICES</a></li>
                <li class="stories"><a href="#about" class="">ABOUT</a></li>
                <li class="supporters_anchor"><a href="#demo" class="">REQUEST DEMO</a></li>
      </ul>
      
      
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>

<section class="module content">
    <div  id="services" class="row">
        <div class="col-md-6 col-md-offset-3 text-center">
            <h1>Services Section</h1>
          </div>
      </div>
<section>
  <section class="module content">
    <div  id="about" class="row">
        <div class="col-md-6 col-md-offset-3 text-center">
            <h1>About Section</h1>
          </div>
      </div>
<section>
  <section class="module content">
    <div  id="demo" class="row">
        <div class="col-md-6 col-md-offset-3 text-center">
            <h1>Demo Section</h1>
          </div>
      </div>
<section>

Upvotes: 1

Related Questions