// tooltips $('a[rel=tooltip]').tooltip({ 'placement': 'bottom' }); // smooth scroll $(document).ready(function() { function filterPath(string) { return string .replace(/^\//,'') .replace(/(index|default).[a-zA-Z]{3,4}$/,'') .replace(/\/$/,''); } var locationPath = filterPath(location.pathname); var scrollElem = scrollableElement('html', 'body'); $('a[href^=#]').each(function() { var thisPath = filterPath(this.pathname) || locationPath; if ( locationPath == thisPath && (location.hostname == this.hostname || !this.hostname) && this.hash.replace(/#/,'') ) { var $target = $(this.hash), target = this.hash; if (target) { var targetOffset = $target.offset().top; $(this).click(function(event) { event.preventDefault(); $(scrollElem).animate({scrollTop: targetOffset}, 400, function() { location.hash = target; }); }); } } }); // use the first element that is "scrollable" function scrollableElement(els) { for (var i = 0, argLength = arguments.length; i 0) { return el; } else { $scrollElement.scrollTop(1); var isScrollable = $scrollElement.scrollTop()> 0; $scrollElement.scrollTop(0); if (isScrollable) { return el; } } } return []; } }); // subnav (function ($) { $(function(){ // fix sub nav on scroll var $win = $(window), $body = $('body'), $nav = $('.subnav'), navHeight = $('.navbar').first().height(), subnavHeight = $('.subnav').first().height(), subnavTop = $('.subnav').length && $('.subnav').offset().top - navHeight, marginTop = parseInt($body.css('margin-top'), 10); isFixed = 0; processScroll(); $win.on('scroll', processScroll); function processScroll() { var i, scrollTop = $win.scrollTop(); if (scrollTop >= subnavTop && !isFixed) { isFixed = 1; $nav.addClass('subnav-fixed'); $body.css('margin-top', marginTop + subnavHeight + 'px'); } else if (scrollTop <= subnavTop && isFixed) { isFixed = 0; $nav.removeClass('subnav-fixed'); $body.css('margin-top', marginTop + 'px'); } } }); })(window.jQuery);