From f750ad35ded1e976abb6f40d6f9ed4afe3be03d3 Mon Sep 17 00:00:00 2001 From: Thomas Park Date: Thu, 7 Feb 2013 17:15:05 -0500 Subject: preview pages: get rid of content jumps when subnav -> subnav-fixed --- js/application.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'js/application.js') diff --git a/js/application.js b/js/application.js index cd7cf0c9..8daeebf6 100755 --- a/js/application.js +++ b/js/application.js @@ -4,9 +4,12 @@ // fix sub nav on scroll var $win = $(window), + $body = $('body'), $nav = $('.subnav'), navHeight = $('.navbar').first().height(), - navTop = $('.subnav').length && $('.subnav').offset().top - navHeight, + subnavHeight = $('.subnav').first().height(), + subnavTop = $('.subnav').length && $('.subnav').offset().top - navHeight, + marginTop = parseInt($body.css('margin-top'), 10); isFixed = 0; processScroll(); @@ -15,12 +18,15 @@ function processScroll() { var i, scrollTop = $win.scrollTop(); - if (scrollTop >= navTop && !isFixed) { + + if (scrollTop >= subnavTop && !isFixed) { isFixed = 1; $nav.addClass('subnav-fixed'); - } else if (scrollTop <= navTop && isFixed) { + $body.css('margin-top', marginTop + subnavHeight + 'px'); + } else if (scrollTop <= subnavTop && isFixed) { isFixed = 0; $nav.removeClass('subnav-fixed'); + $body.css('margin-top', marginTop + 'px'); } } -- cgit v1.2.3