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,15 +43,24 @@
constructor: ScrollSpy constructor: ScrollSpy
, refresh: function () { , refresh: function () {
this.targets = this.$body var self = this
, $targets
this.offsets = []
this.targets = []
$targets = this.$body
.find(this.selector) .find(this.selector)
.map(function () { .map(function () {
var href = $(this).attr('href') 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] })
this.offsets = $.map(this.targets, function (id) { .each(function () {
return $(id).position().top self.offsets.push(this[0])
self.targets.push(this[1])
}) })
} }

View File

@ -43,15 +43,24 @@
constructor: ScrollSpy constructor: ScrollSpy
, refresh: function () { , refresh: function () {
this.targets = this.$body var self = this
, $targets
this.offsets = []
this.targets = []
$targets = this.$body
.find(this.selector) .find(this.selector)
.map(function () { .map(function () {
var href = $(this).attr('href') 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] })
this.offsets = $.map(this.targets, function (id) { .each(function () {
return $(id).position().top self.offsets.push(this[0])
self.targets.push(this[1])
}) })
} }