$(document).ready(function(){ // scroll spy logic // ================ var activeTarget, $window = $(window), position = {}, 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) { $('a.menu').parent("li").removeClass("open"); }); $("a.menu").click(function (e) { var $li = $(this).parent("li").toggleClass('open'); return false; }); // table sort example // ================== $("#sortTableExample").tablesorter( {sortList: [[1,0]]} ); // add on logic // ============ $('.add-on :checkbox').click(function() { if ($(this).attr('checked')) { $(this).parents('.add-on').addClass('active'); } else { $(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(); }); // Copy code blocks in docs $(".copy-code").focus(function() { var el = this; // push select to event loop for chrome :{o setTimeout(function () { $(el).select(); }, 1); }); // POSITION TWIPSIES // ================= $('.twipsies.well a').each(function () { var type = this.title , $anchor = $(this) , $twipsy = $('.twipsy.' + type) , twipsy = { width: $twipsy.width() + 10 , height: $twipsy.height() + 10 } , anchor = { position: $anchor.position() , width: $anchor.width() , height: $anchor.height() } , offset = { above: { top: anchor.position.top - twipsy.height , left: anchor.position.left + (anchor.width/2) - (twipsy.width/2) } , below: { top: anchor.position.top + anchor.height , left: anchor.position.left + (anchor.width/2) - (twipsy.width/2) } , left: { top: anchor.position.top + (anchor.height/2) - (twipsy.height/2) , left: anchor.position.left - twipsy.width - 5 } , right: { top: anchor.position.top + (anchor.height/2) - (twipsy.height/2) , left: anchor.position.left + anchor.width + 5 } } $twipsy.css(offset[type]) }); });