I want to make a case for showing and hiding a menu like a picture.
You can see that in the following image there is a piece of wood. The first part, when you open the page, shows the menu at the bottom right.
When you scroll down, then the menu will be fadeIn, and when you go, the menu will be fadeOut.
facebook and tumblr do this. I want to know how they can do this. Anyone can tell me a small example or something like that.
I created this DEMO from codepen.io, but this is only the title and also the problem when scroll up.

var previousScroll = 0, // previous scroll position menuOffset = 54, // height of menu (once scroll passed it, menu is hidden) detachPoint = 650, // point of detach (after scroll passed it, menu is fixed) hideShowOffset = 6; // scrolling value after which triggers hide/show menu // on scroll hide/show menu $(window).scroll(function() { if (!$('nav').hasClass('expanded')) { var currentScroll = $(this).scrollTop(), // gets current scroll position scrollDifference = Math.abs(currentScroll - previousScroll); // calculates how fast user is scrolling // if scrolled past menu if (currentScroll > menuOffset) { // if scrolled past detach point add class to fix menu if (currentScroll > detachPoint) { if (!$('nav').hasClass('detached')) $('nav').addClass('detached'); } // if scrolling faster than hideShowOffset hide/show menu if (scrollDifference >= hideShowOffset) { if (currentScroll > previousScroll) { // scrolling down; hide menu if (!$('nav').hasClass('invisible')) $('nav').addClass('invisible'); } else { // scrolling up; show menu if ($('nav').hasClass('invisible')) $('nav').removeClass('invisible'); } } } else { // only remove "detached" class if user is at the top of document (menu jump fix) if (currentScroll <= 0){ $('nav').removeClass(); } } // if user is at the bottom of document show menu if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) { $('nav').removeClass('invisible'); } // replace previous scroll position with new one previousScroll = currentScroll; } }) // shows/hides navigation's popover if class "expanded" $('nav').on('click touchstart', function(event) { showHideNav(); event.preventDefault(); }) // clicking anywhere inside navigation or heading won't close navigation's popover $('
javascript jquery css
innovation
source share