极简js和css3往上滚动智能隐藏和显示的顶部导航菜单
演示请看本站导航,不支持IE678。
HTML(header-navigation是用来指定导航样式的,id=header是用来驱动js的,这里id要和下面js里的document.getElementById相同)
header class="header-navigation" id="header" 这是导航 /header
CSS
.header-navigation { position: fixed; top: 0; width: 100%; height: 60px; line-height: 60px; background-color: #333; text-align: center; box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22); z-index: 9999; } /* Slide transitions */ .slideUp { /* -webkit-transform: translateY(-100px); transform: translateY(-100px);*/ -webkit-transform: translateY(-100px); -ms-transform: translateY(-100px); -o-transform: translateY(-100px); transform: translateY(-100px); /*transition: transform .5s ease-out;*/ -webkit-transition: transform .5s ease-out; -o-transition: transform .5s ease-out; transition: transform .5s ease-out; } .slideDown { /*-webkit-transform: translateY(0); transform: translateY(0);*/ -webkit-transform: translateY(0); -ms-transform: translateY(0); -o-transform: translateY(0); transform: translateY(0); /*transition: transform .5s ease-out;*/ -webkit-transition: transform .5s ease-out; -o-transition: transform .5s ease-out; transition: transform .5s ease-out; }
JS
<script type="text/javascript"> var new_scroll_position = 0; var last_scroll_position; var header = document.getElementById("header"); window.addEventListener('scroll', function(e) { last_scroll_position = window.scrollY; // Scrolling down if (new_scroll_position < last_scroll_position && last_scroll_position > 80) { // header.removeClass('slideDown').addClass('slideUp'); header.classList.remove("slideDown"); header.classList.add("slideUp"); // Scrolling up } else if (new_scroll_position > last_scroll_position) { // header.removeClass('slideUp').addClass('slideDown'); header.classList.remove("slideUp"); header.classList.add("slideDown"); } new_scroll_position = last_scroll_position; }); </script>