1
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-08-19 03:41:19 +02:00

fix scrollspy simplify stuff more - break everything.

This commit is contained in:
Jacob Thornton
2011-10-19 23:12:50 -07:00
parent 5ab84f942d
commit 523e02f7df
10 changed files with 78 additions and 57 deletions

View File

@@ -1,5 +1,5 @@
/* =============================================================
* bootstrap-accordion.js v1.3.0
* bootstrap-accordion.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#accordion
* =============================================================
* Copyright 2011 Twitter, Inc.

View File

@@ -1,5 +1,5 @@
/* ==========================================================
* bootstrap-alerts.js v1.3.0
* bootstrap-alerts.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#alerts
* ==========================================================
* Copyright 2011 Twitter, Inc.

View File

@@ -1,5 +1,5 @@
/* ============================================================
* bootstrap-dropdown.js v1.3.0
* bootstrap-dropdown.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#dropdown
* ============================================================
* Copyright 2011 Twitter, Inc.
@@ -22,6 +22,7 @@
/* APPLY TO STANDARD DROPDOWN ELEMENTS
* =================================== */
var selector = '[data-dropdown]'
function clearMenus() {
$(selector).parent('li').removeClass('open')
@@ -29,7 +30,7 @@
$(function () {
$('html').bind("click", clearMenus)
$('body').delegate('[data-dropdown]', 'click', function (e) {
$('body').delegate(selector, 'click', function (e) {
var li = $(this).parent('li')
, isActive = li.hasClass('open')
clearMenus()

View File

@@ -1,5 +1,5 @@
/* =========================================================
* bootstrap-modal.js v1.3.0
* bootstrap-modal.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#modal
* =========================================================
* Copyright 2011 Twitter, Inc.

View File

@@ -1,5 +1,5 @@
/* ===========================================================
* bootstrap-popover.js v1.3.0
* bootstrap-popover.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#popover
* ===========================================================
* Copyright 2011 Twitter, Inc.

View File

@@ -1,5 +1,5 @@
/* =============================================================
* bootstrap-scrollspy.js v1.3.0
* bootstrap-scrollspy.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#scrollspy
* =============================================================
* Copyright 2011 Twitter, Inc.
@@ -22,14 +22,14 @@
var $window = $(window)
function ScrollSpy( topbar, selector ) {
var processScroll = $.proxy(this.processScroll, this)
this.$topbar = $(topbar)
this.selector = selector || 'li > a'
function ScrollSpy() {
var process = $.proxy(this.process, this)
this.$topbar = $('body')
this.selector = '[data-scrollspy] li > a'
this.refresh()
this.$topbar.delegate(this.selector, 'click', processScroll)
$window.scroll(processScroll)
this.processScroll()
this.$topbar.delegate(this.selector, 'click', process)
$window.scroll(process)
this.process()
}
ScrollSpy.prototype = {
@@ -45,7 +45,7 @@
})
}
, processScroll: function () {
, process: function () {
var scrollTop = $window.scrollTop() + 10
, offsets = this.offsets
, targets = this.targets
@@ -56,27 +56,34 @@
activeTarget != targets[i]
&& scrollTop >= offsets[i]
&& (!offsets[i + 1] || scrollTop <= offsets[i + 1])
&& this.activateButton( targets[i] )
&& this.activate( targets[i] )
}
}
, activateButton: function (target) {
, activate: function (target) {
var active
this.activeTarget = target
this.$topbar
.find(this.selector).parent('.active')
.removeClass('active')
this.$topbar
active = this.$topbar
.find(this.selector + '[href="' + target + '"]')
.parent('li')
.addClass('active')
if ( active.parent('.dropdown-menu') ) {
active.closest('li.dropdown').addClass('active')
}
}
}
$(function () {
$('body').scrollSpy('[data-scrollspy] li > a')
new ScrollSpy()
})
}( window.jQuery || window.ender )

21
js/bootstrap-tabs.js vendored
View File

@@ -1,5 +1,5 @@
/* ========================================================
* bootstrap-tabs.js v1.3.0
* bootstrap-tabs.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#tabs
* ========================================================
* Copyright 2011 Twitter, Inc.
@@ -21,24 +21,33 @@
!function( $ ){
function activate ( element, container ) {
container.find('> .active').removeClass('active')
container
.find('> .active')
.removeClass('active')
.find('> .dropdown-menu > .active')
.removeClass('active')
element.addClass('active')
if ( element.parent('.dropdown-menu') ) {
element.closest('li.dropdown').addClass('active')
}
}
function tab( e ) {
var $this = $(this)
, $ul = $this.closest('ul')
, $ul = $this.closest('ul:not(.dropdown-menu)')
, href = $this.attr('href')
, previous
if (/^#\w+/.test(href)) {
if ( /^#\w+/.test(href) ) {
e.preventDefault()
if ($this.parent('li').hasClass('active')) {
if ( $this.parent('li').hasClass('active') ) {
return
}
previous = $ul.find('.active a')[0]
previous = $ul.find('.active a').last()[0]
$href = $(href)
activate($this.parent('li'), $ul)

View File

@@ -1,5 +1,5 @@
/* ==========================================================
* bootstrap-twipsy.js v1.3.0
* bootstrap-twipsy.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#twipsy
* Adapted from the original jQuery.tipsy by Jason Frame
* ==========================================================

View File

@@ -11,6 +11,7 @@
<script src="vendor/qunit.js"></script>
<!-- plugin sources -->
<script src="../../js/bootstrap-transitions.js"></script>
<script src="../../js/bootstrap-alerts.js"></script>
<script src="../../js/bootstrap-dropdown.js"></script>
<script src="../../js/bootstrap-modal.js"></script>