0
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-01-17 09:52:29 +01:00

sort scrollspy to prevent flicker for unordered nav

This commit is contained in:
Jacob Thornton 2012-03-21 23:45:58 -07:00
parent 94b24aaa47
commit 706ee46b73
3 changed files with 30 additions and 12 deletions

Binary file not shown.

View File

@ -43,16 +43,25 @@
constructor: ScrollSpy
, refresh: function () {
this.targets = this.$body
var self = this
, $targets
this.offsets = []
this.targets = []
$targets = this.$body
.find(this.selector)
.map(function () {
var href = $(this).attr('href')
return /^#\w/.test(href) && $(href).length ? href : null
return /^#\w/.test(href)
&& $(href).length
&& [[ $(href).position().top, href ]]
})
.sort(function (a, b) { return a[0] - b[0] })
.each(function () {
self.offsets.push(this[0])
self.targets.push(this[1])
})
this.offsets = $.map(this.targets, function (id) {
return $(id).position().top
})
}
, process: function () {

View File

@ -43,16 +43,25 @@
constructor: ScrollSpy
, refresh: function () {
this.targets = this.$body
var self = this
, $targets
this.offsets = []
this.targets = []
$targets = this.$body
.find(this.selector)
.map(function () {
var href = $(this).attr('href')
return /^#\w/.test(href) && $(href).length ? href : null
return /^#\w/.test(href)
&& $(href).length
&& [[ $(href).position().top, href ]]
})
.sort(function (a, b) { return a[0] - b[0] })
.each(function () {
self.offsets.push(this[0])
self.targets.push(this[1])
})
this.offsets = $.map(this.targets, function (id) {
return $(id).position().top
})
}
, process: function () {