mirror of
https://github.com/twbs/bootstrap.git
synced 2025-09-29 14:59:16 +02:00
some more js love - update the docs with tabs/pills plugin
This commit is contained in:
39
docs/assets/js/application-scrollspy.js
Normal file
39
docs/assets/js/application-scrollspy.js
Normal file
@@ -0,0 +1,39 @@
|
||||
// scroll spy logic
|
||||
// ================
|
||||
$(function () {
|
||||
|
||||
var activeTarget,
|
||||
position = {},
|
||||
$window = $(window),
|
||||
nav = $('body > .topbar li a'),
|
||||
targets = nav.map(function () {
|
||||
return $(this).attr('href');
|
||||
}),
|
||||
offsets = $.map(targets, function (id) {
|
||||
return $(id).offset().top;
|
||||
});
|
||||
|
||||
function setButton(id) {
|
||||
nav.parent("li").removeClass('active');
|
||||
$(nav[$.inArray(id, targets)]).parent("li").addClass('active');
|
||||
}
|
||||
|
||||
function processScroll(e) {
|
||||
var scrollTop = $window.scrollTop() + 10, i;
|
||||
for (i = offsets.length; i--;) {
|
||||
if (activeTarget != targets[i] && scrollTop >= offsets[i] && (!offsets[i + 1] || scrollTop <= offsets[i + 1])) {
|
||||
activeTarget = targets[i];
|
||||
setButton(activeTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nav.click(function () {
|
||||
processScroll();
|
||||
});
|
||||
|
||||
processScroll();
|
||||
|
||||
$window.scroll(processScroll);
|
||||
|
||||
})
|
@@ -1,96 +1,46 @@
|
||||
$(document).ready(function(){
|
||||
|
||||
// Google code prettify
|
||||
// ====================
|
||||
|
||||
prettyPrint();
|
||||
|
||||
|
||||
// scroll spy logic
|
||||
// ================
|
||||
|
||||
var activeTarget,
|
||||
position = {},
|
||||
$window = $(window),
|
||||
nav = $('body > .topbar li a'),
|
||||
targets = nav.map(function () {
|
||||
return $(this).attr('href');
|
||||
}),
|
||||
offsets = $.map(targets, function (id) {
|
||||
return $(id).offset().top;
|
||||
});
|
||||
|
||||
function setButton(id) {
|
||||
nav.parent("li").removeClass('active');
|
||||
$(nav[$.inArray(id, targets)]).parent("li").addClass('active');
|
||||
}
|
||||
|
||||
function processScroll(e) {
|
||||
var scrollTop = $window.scrollTop() + 10, i;
|
||||
for (i = offsets.length; i--;) {
|
||||
if (activeTarget != targets[i] && scrollTop >= offsets[i] && (!offsets[i + 1] || scrollTop <= offsets[i + 1])) {
|
||||
activeTarget = targets[i];
|
||||
setButton(activeTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nav.click(function () {
|
||||
processScroll();
|
||||
});
|
||||
|
||||
processScroll();
|
||||
|
||||
$window.scroll(processScroll);
|
||||
|
||||
|
||||
// Dropdown example for topbar nav
|
||||
// ===============================
|
||||
|
||||
$("body").bind("click", function (e) {
|
||||
$('.dropdown-toggle, .menu').parent("li").removeClass("open");
|
||||
});
|
||||
$(".dropdown-toggle, .menu").click(function (e) {
|
||||
var $li = $(this).parent("li").toggleClass('open');
|
||||
return false;
|
||||
});
|
||||
$(".topbar").dropdown() // catch any dropdowns on the page
|
||||
|
||||
|
||||
// table sort example
|
||||
// ==================
|
||||
|
||||
$("#sortTableExample").tablesorter( {sortList: [[1,0]]} );
|
||||
$("#sortTableExample").tablesorter( { sortList: [[ 1, 0 ]] } )
|
||||
|
||||
|
||||
// add on logic
|
||||
// ============
|
||||
|
||||
$('.add-on :checkbox').click(function() {
|
||||
$('.add-on :checkbox').click(function () {
|
||||
if ($(this).attr('checked')) {
|
||||
$(this).parents('.add-on').addClass('active');
|
||||
$(this).parents('.add-on').addClass('active')
|
||||
} else {
|
||||
$(this).parents('.add-on').removeClass('active');
|
||||
$(this).parents('.add-on').removeClass('active')
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
|
||||
// Disable certain links in docs
|
||||
// =============================
|
||||
|
||||
$('ul.tabs a, ul.pills a, .pagination a, .well .btn, .actions .btn, .alert-message .btn, a.close').click(function(e) {
|
||||
e.preventDefault();
|
||||
});
|
||||
$('ul.tabs a, ul.pills a, .pagination a, .well .btn, .actions .btn, .alert-message .btn, a.close').click(function (e) {
|
||||
e.preventDefault()
|
||||
})
|
||||
|
||||
// Copy code blocks in docs
|
||||
$(".copy-code").focus(function() {
|
||||
$(".copy-code").focus(function () {
|
||||
var el = this;
|
||||
// push select to event loop for chrome :{o
|
||||
setTimeout(function () { $(el).select(); }, 1);
|
||||
});
|
||||
|
||||
|
||||
// POSITION TWIPSIES
|
||||
// =================
|
||||
// POSITION STATIC TWIPSIES
|
||||
// ========================
|
||||
|
||||
$('.twipsies.well a').each(function () {
|
||||
var type = this.title
|
||||
@@ -128,7 +78,6 @@ $(document).ready(function(){
|
||||
}
|
||||
|
||||
$twipsy.css(offset[type])
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
6
docs/assets/js/bootstrap-dropdown.js
vendored
6
docs/assets/js/bootstrap-dropdown.js
vendored
@@ -3,8 +3,10 @@
|
||||
/* DROPDOWN PLUGIN DEFINITION
|
||||
* ========================== */
|
||||
|
||||
var selector = 'a.menu, .dropdown-toggle'
|
||||
|
||||
function clearMenus() {
|
||||
$('a.menu').parent('li').removeClass('open')
|
||||
$(selector).parent('li').removeClass('open')
|
||||
}
|
||||
|
||||
$(function () {
|
||||
@@ -13,7 +15,7 @@
|
||||
|
||||
$.fn.dropdown = function ( options ) {
|
||||
return this.each(function () {
|
||||
$(this).delegate('a.menu', 'click', function (e) {
|
||||
$(this).delegate(selector, 'click', function (e) {
|
||||
clearMenus()
|
||||
$(this).parent('li').toggleClass('open')
|
||||
return false
|
||||
|
0
docs/assets/js/bootstrap-scrollspy.js
vendored
Normal file
0
docs/assets/js/bootstrap-scrollspy.js
vendored
Normal file
29
docs/assets/js/bootstrap-tabs.js
vendored
29
docs/assets/js/bootstrap-tabs.js
vendored
@@ -2,33 +2,36 @@
|
||||
|
||||
function activate ( element, container ) {
|
||||
container.find('.active').removeClass('active')
|
||||
element.addClass('active')
|
||||
element.addClass('active')
|
||||
}
|
||||
|
||||
function tab( e ) {
|
||||
debugger
|
||||
var $this = $(this)
|
||||
, href = $this.attr('href')
|
||||
var $this = $(this)
|
||||
, href = $this.attr('href')
|
||||
, $ul = $(e.liveFired)
|
||||
, $controlled
|
||||
|
||||
if (/^#/.test(href)) {
|
||||
e.preventDefault()
|
||||
if (/^#/.test(href)) {
|
||||
e.preventDefault()
|
||||
|
||||
if ($this.hasClass('active')) {
|
||||
return
|
||||
}
|
||||
|
||||
activate($this, $ul)
|
||||
activate($(href), $content)
|
||||
}
|
||||
$controlled = $('#' + $ul.attr('aria-controls'))
|
||||
|
||||
activate($this.parent('li'), $ul)
|
||||
activate($(href, $controlled), $controlled)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* TABS PLUGIN DEFINITION
|
||||
* ====================== */
|
||||
/* TABS/PILLS PLUGIN DEFINITION
|
||||
* ============================ */
|
||||
|
||||
$.fn.tabs = function ( content ) {
|
||||
$.fn.tabs = $.fn.pills = function () {
|
||||
return this.each(function () {
|
||||
$(this).delegate('> li > a', 'click', tab)
|
||||
$(this).delegate('.tabs > li > a, .pills > li > a', 'click', tab)
|
||||
})
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user