mirror of https://github.com/twbs/bootstrap.git
				
				
				
			
						commit
						e136ba0fa3
					
				| 
						 | 
				
			
			@ -27,6 +27,7 @@
 | 
			
		|||
    this.offsets        = []
 | 
			
		||||
    this.targets        = []
 | 
			
		||||
    this.activeTarget   = null
 | 
			
		||||
    this.scrollHeight   = 0
 | 
			
		||||
 | 
			
		||||
    this.$scrollElement.on('scroll.bs.scrollspy', process)
 | 
			
		||||
    this.refresh()
 | 
			
		||||
| 
						 | 
				
			
			@ -39,6 +40,10 @@
 | 
			
		|||
    offset: 10
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  ScrollSpy.prototype.getScrollHeight = function () {
 | 
			
		||||
    return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  ScrollSpy.prototype.refresh = function () {
 | 
			
		||||
    var offsetMethod = 'offset'
 | 
			
		||||
    var offsetBase   = 0
 | 
			
		||||
| 
						 | 
				
			
			@ -50,6 +55,7 @@
 | 
			
		|||
 | 
			
		||||
    this.offsets = []
 | 
			
		||||
    this.targets = []
 | 
			
		||||
    this.scrollHeight = this.getScrollHeight()
 | 
			
		||||
 | 
			
		||||
    var self     = this
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -74,13 +80,17 @@
 | 
			
		|||
 | 
			
		||||
  ScrollSpy.prototype.process = function () {
 | 
			
		||||
    var scrollTop    = this.$scrollElement.scrollTop() + this.options.offset
 | 
			
		||||
    var scrollHeight = this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
 | 
			
		||||
    var scrollHeight = this.getScrollHeight()
 | 
			
		||||
    var maxScroll    = this.options.offset + scrollHeight - this.$scrollElement.height()
 | 
			
		||||
    var offsets      = this.offsets
 | 
			
		||||
    var targets      = this.targets
 | 
			
		||||
    var activeTarget = this.activeTarget
 | 
			
		||||
    var i
 | 
			
		||||
 | 
			
		||||
    if (this.scrollHeight != scrollHeight) {
 | 
			
		||||
      this.refresh()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (scrollTop >= maxScroll) {
 | 
			
		||||
      return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue