diff --git a/assets/js/academic.js b/assets/js/academic.js index 2eb5adcc..6d09e7d2 100644 --- a/assets/js/academic.js +++ b/assets/js/academic.js @@ -303,10 +303,27 @@ function toggleSearchDialog() { if ($('body').hasClass('searching')) { + // Clear search query and hide search modal. $('[id=search-query]').blur(); - $('body').removeClass('searching'); + $('body').removeClass('searching compensate-for-scrollbar'); + + // Remove search query params from URL as user has finished searching. removeQueryParamsFromUrl(); + + // Prevent fixed positioned elements (e.g. navbar) moving due to scrollbars. + $('#fancybox-style-noscroll').remove(); } else { + // Prevent fixed positioned elements (e.g. navbar) moving due to scrollbars. + if ( !$('#fancybox-style-noscroll').length && document.body.scrollHeight > window.innerHeight ) { + $('head').append( + '' + ); + $('body').addClass('compensate-for-scrollbar'); + } + + // Show search modal. $('body').addClass('searching'); $('.search-results').css({opacity: 0, visibility: 'visible'}).animate({opacity: 1}, 200); $('#search-query').focus(); diff --git a/layouts/partials/navbar.html b/layouts/partials/navbar.html index 7e2ee6ae..3db92c6a 100644 --- a/layouts/partials/navbar.html +++ b/layouts/partials/navbar.html @@ -1,5 +1,5 @@ {{ $current_page := . }} -