虽然我没有使用 javascript,但我确实提取了他们的 CSS,在我放在一起的引导应用程序上创建了我自己的子导航栏。相关的 CSS.subnav
位于http://twitter.github.com/bootstrap/assets/css/docs.css
他们的警告只是意味着 javascript 不是为公共消费而编写的,因此它可能没有经过全面测试或编写得很好。但是,这是用于修复滚动条上的子导航栏的 javascript:
// fix sub nav on scroll
var $win = $(window)
, $nav = $('.subnav')
, navTop = $('.subnav').length && $('.subnav').offset().top - 40
, isFixed = 0
processScroll()
// hack sad times - holdover until rewrite for 2.1
$nav.on('click', function () {
if (!isFixed) setTimeout(function () { $win.scrollTop($win.scrollTop() - 47) }, 10)
})
$win.on('scroll', processScroll)
function processScroll() {
var i, scrollTop = $win.scrollTop()
if (scrollTop >= navTop && !isFixed) {
isFixed = 1
$nav.addClass('subnav-fixed')
} else if (scrollTop <= navTop && isFixed) {
isFixed = 0
$nav.removeClass('subnav-fixed')
}
}
基本上,当窗口滚动时,此代码检查子导航栏是否已到达窗口顶部;如果有,subnav-fixed
则添加该类并设置一个标志。否则,将删除该类并将标志设置为 false