Nav hider on mobile screens
by Istvan Lantos
HTML
<header class="main">
Fixed Header – Hides on scroll down, shows on scroll up
</header>
<script src="https://code.jquery.com/jquery-2.2.1.min.js"></script>
<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-beta1/jquery.min.js"></script>-->
CSS
body {
background-color: #333;
height: 1500px;
margin: 0;
color: #000;
font-family: helvetica, sans-serif;
font-size:20px;
}
header {
width: 100%;
height: 70px;
background-color: #fff;
position: fixed;
top: 0;
transition: top 0.2s ease-in-out;
padding:25px;
}
JavaScript
function bindNavUp() {
var lastScrollTop = 0, delta = 5;
$(window).on('scroll', function() {
var st = $(this).scrollTop();
if(Math.abs(lastScrollTop - st) <= delta) {
return;
};
if (st > lastScrollTop) {
// downscroll code
$('header.main').css('top','-50px').hover();
}
else {
// upscroll code
$('header.main').css('top','0');
};
lastScrollTop = st;
});
};
function unbindNavUp() {
$(window).unbind('scroll');
};
function handleNavUp() {
if ($(window).width() < 1600) {
bindNavUp();
}
else {
unbindNavUp();
};
};
$(document).ready(function() {
var timer;
$(window).on('load resize scroll', function() {
clearTimeout(timer);
timer = setTimeout(function() {
handleNavUp();
}, 100);
});
handleNavUp();
});