Skip to content

Instantly share code, notes, and snippets.

@richarddewit
Last active April 18, 2018 08:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save richarddewit/8cb42e823ecd57b85b0af6f97a377d44 to your computer and use it in GitHub Desktop.
Save richarddewit/8cb42e823ecd57b85b0af6f97a377d44 to your computer and use it in GitHub Desktop.
var $window = $(window);
var $header = $('.sticky-header');
var scrolling = false;
var previousTop = 0;
var currentTop = 0;
var scrollDelta = 10;
var scrollOffset = 150;
$header.once('init-autohide-header', function() {
$window.on('scroll', function(){
if (!scrolling) {
scrolling = true;
if (!window.requestAnimationFrame) {
setTimeout(autoHideHeader, 250);
} else {
requestAnimationFrame(autoHideHeader);
}
}
});
});
function autoHideHeader() {
var currentTop = $window.scrollTop();
// Scrolling up
if (previousTop - currentTop > scrollDelta) {
$header.removeClass('is-hidden');
} else if (currentTop - previousTop > scrollDelta && currentTop > scrollOffset) {
// Scrolling down
$header.addClass('is-hidden');
}
previousTop = currentTop;
scrolling = false;
}
@richarddewit
Copy link
Author

Courtesy of OctoberCMS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment