How Do I Make An Element Disappear And Reappear When Scrolling Down?
So on my website I have a fixed bar at the top which spans the length of the page, the bar is a h1. Attached to that is a mini navigation with back and home buttons which sits belo
Solution 1:
this simple code might help u. JSFIDDLE
//Keep track of last scroll
var lastScroll = 0;
$(window).scroll(function(event){
//Sets the current scroll position
var st = $(this).scrollTop();
//Determines up-or-down scrolling
if (st > lastScroll){
//secondaryNav disappears when scrolled down
$(".secondaryNav").css("display","none");
}
else {
//secondaryNav disappears when scrolled up
$(".secondaryNav").css("display","block");
}
//Updates scroll position
lastScroll = st;
});
Solution 2:
You can use scrollTop for this and check on how much user had scrolled down like
$(function() {
$(document).on("mousewheel", function() {
if($(document).scrollTop() > 100){
$('.secondaryNav').show();
$('.mainHeader h1').hide();
} else {
$('.secondaryNav').hide();
$('.mainHeader h1').show();
};
});
});
Here is working Fiddle (change the css a little bit for it to look better, but the main point is there)
Solution 3:
Here is the simple and commonly usefull way for showing and hiding specific div on movement of your mouse:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
#myDIV {
width: 100%;
padding: 50px 0;
text-align: center;
background-color: lightblue;
margin-top: 20px;
}
</style>
</head>
<body>
<button onmousewheel="myFunction()">wheel mouse on me to hide and show div</button>
<div id="myDIV">
This is my DIV element.
</div>
<p><b>Note:</b> The element will not take up any space when the display property set to "none".</p>
<script>
function myFunction() {
var x = document.getElementById("myDIV");
if (x.style.display === "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
}
</script>
</body>
</html>
Post a Comment for "How Do I Make An Element Disappear And Reappear When Scrolling Down?"