]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
scrollspy working for sub navs
authorJacob Thornton <jacobthornton@gmail.com>
Wed, 25 Jan 2012 06:33:33 +0000 (22:33 -0800)
committerJacob Thornton <jacobthornton@gmail.com>
Wed, 25 Jan 2012 06:33:33 +0000 (22:33 -0800)
docs/assets/js/application.js
docs/javascript.html
js/bootstrap-scrollspy.js

index 0252d75e968cc30eb03d70aee6cd5100c41622a9..84227f5557a41cbbd47319633b5b0718ec80ccc2 100644 (file)
@@ -119,7 +119,7 @@ $(function(){
   // fix sub nav playa
   var $win = $(window)
     , $nav = $('.subnav')
-    , navTop = $('.subnav').offset().top - 40
+    , navTop = $('.subnav').length && $('.subnav').offset().top - 40
     , isFixed = 0
 
   processScroll()
index 425d347cb8b9081a489e18be2b2ebacddfdc2a12..8cf95c8153e89f909435313bd91137ba787620bb 100644 (file)
@@ -24,7 +24,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="0">
   
   <!-- Navbar
     ================================================== -->
         <p class="lead">Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
         <div class="subnav">
           <ul class="nav pills">
-            <li><a href="./javascript.html#javascript">Overview</a></li>
-            <li><a href="./javascript.html#modals">Modal</a></li>
-            <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-            <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-            <li><a href="./javascript.html#tabs">Tab</a></li>
-            <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-            <li><a href="./javascript.html#popovers">Popover</a></li>
-            <li><a href="./javascript.html#alerts">Alert</a></li>
-            <li><a href="./javascript.html#buttons">Button</a></li>
-            <li><a href="./javascript.html#collapse">Collapse</a></li>
-            <li><a href="./javascript.html#carousel">Carousel</a></li>
-            <li><a href="./javascript.html#typeahead">Typeahead</a></li>
+            <li class="active"><a href="#javascript">Overview</a></li>
+            <li><a href="#modals">Modal</a></li>
+            <li><a href="#dropdowns">Dropdown</a></li>
+            <li><a href="#scrollspy">Scrollspy</a></li>
+            <li><a href="#tabs">Tab</a></li>
+            <li><a href="#tooltips">Tooltip</a></li>
+            <li><a href="#popovers">Popover</a></li>
+            <li><a href="#alerts">Alert</a></li>
+            <li><a href="#buttons">Button</a></li>
+            <li><a href="#collapse">Collapse</a></li>
+            <li><a href="#carousel">Carousel</a></li>
+            <li><a href="#typeahead">Typeahead</a></li>
           </ul>
         </div>
       </header>
index 5049bfdf95a3f3d32a620aa39b12289191027d3e..91c49f32ee4e36beb50824ea89cd9aeb87c50949 100644 (file)
 
   function ScrollSpy( element, options) {
     var process = $.proxy(this.process, this)
+      , $element = $(element).is('body') ? $(window) : $(element)
     this.options = $.extend({}, $.fn.scrollspy.defaults, options)
-    this.$scrollElement = $(element).on('scroll.scroll.data-api', process)
-    this.selector = (this.$scrollElement.attr('data-target')
-      || this.$scrollElement.attr('href')
+    this.$scrollElement = $element.on('scroll.scroll.data-api', process)
+    this.selector = (this.options.target
+      || $(element).attr('href')
       || '') + ' .nav li > a'
     this.$body = $('body').on('click.scroll.data-api', this.selector, process)
     this.refresh()
 
 
  /* SCROLLSPY DATA-API
-  * ============== */
+  * ================== */
 
   $(function () {
-    var $spy = $('[data-spy="scroll"]')
-    $spy.scrollspy($spy.data())
+    $('[data-spy="scroll"]').each(function () {
+      var $spy = $(this)
+      $spy.scrollspy($spy.data())
+    })
   })
 
 }( window.jQuery )
\ No newline at end of file