2012-02-18 7 views
9

ページが最初に読み込まれるときに問題なく動作するBootstrap scrollspyプラグイン(v2.0.0)を使用しています。Bootstrap AJAX呼び出しが要素をページに追加した後にScrollPyyが機能しなくなる

ナビゲーションバーとコンテンツセクションは、ajax呼び出し(メニュー項目の追加または削除)によって更新されます。このスクロールバーの後に、新たに追加された項目は強調表示されません。

スクロールバーを更新する方法を教えてください。または、手動で次のコードにscrollspyを添付しますか?

<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> 

答えて

13

scrollspy( 'refresh')は名前のことを単に表します。私の場合は

私はAJAX呼び出しの後follwingコードを追加しました:

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

$(これは)ナビゲーションバー自体、NOTスクロールから監視されている要素を表していることに注意してください。だから、あなたがスクロールのためにボディを見ているならば、$( 'body')と同じように簡単に行うことができます。scrollspy( 'refresh'); – cmcculloh