From 14ce5221ae4db1c0ff47a1c06dbb57704e9829bc Mon Sep 17 00:00:00 2001 From: Lance Willett Date: Sat, 9 Nov 2013 15:31:29 +0000 Subject: [PATCH] Twenty Fourteen: when header is more than 48px tall (like two lines of menu items), unfix the header so it doesn't overlap the page content. Props iamtakashi, fixes #25554. git-svn-id: https://develop.svn.wordpress.org/trunk@26059 602fd350-edb4-49c9-b593-d223f7449a82 --- .../themes/twentyfourteen/js/functions.js | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/src/wp-content/themes/twentyfourteen/js/functions.js b/src/wp-content/themes/twentyfourteen/js/functions.js index 86eb1c36f8..1527d02107 100644 --- a/src/wp-content/themes/twentyfourteen/js/functions.js +++ b/src/wp-content/themes/twentyfourteen/js/functions.js @@ -59,22 +59,31 @@ } ); /* - * Fixed navbar. + * Fixed header for large screen. + * If the header becomes more than 48px tall, unfix the header. * * The callback on the scroll event is only added if there is a header * image and we are not on mobile. */ - if ( body.is( '.header-image' ) && _window.width() > 781 ) { - var toolbarOffset = body.is( '.admin-bar' ) ? $( '#wpadminbar' ).height() : 0, - mastheadOffset = $( '#masthead' ).offset().top - toolbarOffset; + if ( _window.width() > 781 ) { + var mastheadHeight = $( '#masthead' ).height(); - _window.on( 'scroll.twentyfourteen', function() { - if ( window.scrollY > mastheadOffset ) { - body.addClass( 'masthead-fixed' ); - } else { - body.removeClass( 'masthead-fixed' ); - } - } ); + if ( mastheadHeight > 48 ) { + body.removeClass( 'masthead-fixed' ); + } + + if ( body.is( '.header-image' ) ) { + var toolbarOffset = body.is( '.admin-bar' ) ? $( '#wpadminbar' ).height() : 0, + mastheadOffset = $( '#masthead' ).offset().top - toolbarOffset; + + _window.on( 'scroll.twentyfourteen', function() { + if ( ( window.scrollY > mastheadOffset ) && ( mastheadHeight < 49 ) ) { + body.addClass( 'masthead-fixed' ); + } else { + body.removeClass( 'masthead-fixed' ); + } + } ); + } } // Focus styles for menus.