Vous êtes connecté en tant que anonymous Se Deconnecter
public/js/bootstrap-scrollspy.js
b373ec68
 /* =============================================================
  * bootstrap-scrollspy.js v1.4.0
  * http://twitter.github.com/bootstrap/javascript.html#scrollspy
  * =============================================================
  * Copyright 2011 Twitter, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  * ============================================================== */
 
 
 !function ( $ ) {
 
   "use strict"
 
   var $window = $(window)
 
   function ScrollSpy( topbar, selector ) {
     var processScroll = $.proxy(this.processScroll, this)
     this.$topbar = $(topbar)
     this.selector = selector || 'li > a'
     this.refresh()
     this.$topbar.delegate(this.selector, 'click', processScroll)
     $window.scroll(processScroll)
     this.processScroll()
   }
 
   ScrollSpy.prototype = {
 
       refresh: function () {
         this.targets = this.$topbar.find(this.selector).map(function () {
           var href = $(this).attr('href')
           return /^#\w/.test(href) && $(href).length ? href : null
         })
 
         this.offsets = $.map(this.targets, function (id) {
           return $(id).offset().top
         })
       }
 
     , processScroll: function () {
         var scrollTop = $window.scrollTop() + 10
           , offsets = this.offsets
           , targets = this.targets
           , activeTarget = this.activeTarget
           , i
 
         for (i = offsets.length; i--;) {
           activeTarget != targets[i]
             && scrollTop >= offsets[i]
             && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
             && this.activateButton( targets[i] )
         }
       }
 
     , activateButton: function (target) {
         this.activeTarget = target
 
         this.$topbar
           .find(this.selector).parent('.active')
           .removeClass('active')
 
         this.$topbar
           .find(this.selector + '[href="' + target + '"]')
           .parent('li')
           .addClass('active')
       }
 
   }
 
   /* SCROLLSPY PLUGIN DEFINITION
    * =========================== */
 
   $.fn.scrollSpy = function( options ) {
     var scrollspy = this.data('scrollspy')
 
     if (!scrollspy) {
       return this.each(function () {
         $(this).data('scrollspy', new ScrollSpy( this, options ))
       })
     }
 
     if ( options === true ) {
       return scrollspy
     }
 
     if ( typeof options == 'string' ) {
       scrollspy[options]()
     }
 
     return this
   }
 
   $(document).ready(function () {
     $('body').scrollSpy('[data-scrollspy] li > a')
   })
 
 }( window.jQuery || window.ender );