admin管理员组

文章数量:1245874

I am using the Bootstrap scrollspy plugin (v2.0.0) which works without a problem when the page loads first.

The navigation bar as well as the content sections get updated via ajax calls (add or remove menu items). After this scrollspy doesn't highlight the newly added items anymore.

How do I tell scrollspy to refresh? Or maybe attach scrollspy manually to the following code?

  <body data-spy="scroll" data-target=".subnav" data-offset="0">
    <div id="listing">
      <div class="subnav">
        <ul class="nav nav-pills nav-stacked">
          <li><a href="#cat2">Home &amp; Garden</a></li>
          <li><a href="#cat5">Computers &amp; Networking</a></li>
        </ul>
      </div>  
      <div>
        <section id="cat2">...</section>
        <section id="cat5">...</section>
      </div>
    </div>
  </body>

I am using the Bootstrap scrollspy plugin (v2.0.0) which works without a problem when the page loads first.

The navigation bar as well as the content sections get updated via ajax calls (add or remove menu items). After this scrollspy doesn't highlight the newly added items anymore.

How do I tell scrollspy to refresh? Or maybe attach scrollspy manually to the following code?

  <body data-spy="scroll" data-target=".subnav" data-offset="0">
    <div id="listing">
      <div class="subnav">
        <ul class="nav nav-pills nav-stacked">
          <li><a href="#cat2">Home &amp; Garden</a></li>
          <li><a href="#cat5">Computers &amp; Networking</a></li>
        </ul>
      </div>  
      <div>
        <section id="cat2">...</section>
        <section id="cat5">...</section>
      </div>
    </div>
  </body>
Share Improve this question edited May 16, 2012 at 20:43 Shog9 160k36 gold badges235 silver badges240 bronze badges asked Feb 18, 2012 at 14:18 FraxinusFraxinus 2412 silver badges5 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 15

scrollspy('refresh') will simply do what the name says!

In my case I added the follwing code after the ajax call:

$('[data-spy="scroll"]').each(function () {
  $(this).scrollspy('refresh');
});

本文标签: javascriptBootstrap Scrollspy stops working after an AJAX call added elements to the pageStack Overflow