I have code which fades out my menu when user scrolls down, and fades in when user scrolls up.
I would like it to fade in ANYTIME the user scrolls up not just when they reach the top of the page.
js
$ = jQuery.noConflict();
$(document).ready(function(){
$(window).scroll(function(){
$("#s-nav").css("opacity", 1 - $(window).scrollTop() /300);
});
});
$ = jQuery.noConflict();
$(document).ready(function() {
var previous_scroll_val = 0; //or whatever you choose.
$(window).scroll(function() {
var now_scroll_val = $(this).scrollTop();
if (now_scroll_val < previous_scroll_val) {
//User is scrolling up...
$("#s-nav").css("opacity", 0 + $(window).scrollTop() /300);
}
else {
//User is scrolling down...
$("#s-nav").css("opacity", 1 - $(window).scrollTop() /300);
}
previous_scroll_val = current_scroll_val; //<-- Most important line Without this, scroll event will only trigger on 0px scrollTop
});
});
#s-nav {
position: fixed;
z-index: 999;
top: 0;
width: 100%; height: 100px;
padding-top: 25px;
background-color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav id="s-nav">
<div class="col-sm-4">
<a href="#" id="s-logo"></a>
</div>
<div class="col-sm-8 align-right">
<p>menu</p>
</div>
</nav>
<div>
<p>page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content page content </p>
</div>