사용자가 아래로 스크롤 할 때 내 메뉴 (탐색)를 숨기고 스크롤 할 때 다시 가져 오는 다음 스크립트 (스 니펫에 있음)가 있습니다.위로 스크롤 할 때 메뉴 숨기기
그러나 그것은 작동하지 않으며 문제가 자리하고있는 곳 모르겠습니다
var didScroll;
var lastScrollTop = 0;
var delta = 5;
var navbarHeight = $('nav').outerHeight();
$(window).scroll(function(event){
didScroll = true;
});
setInterval(function() {
if (didScroll) {
hasScrolled();
didScroll = false;
}
}, 250);
function hasScrolled() {
var st = $(this).scrollTop();
if(Math.abs(lastScrollTop - st) <= delta)
return;
if (st > lastScrollTop && st > navbarHeight){
// Scroll Down
$('nav').removeClass('nav-down').addClass('nav-up');
} else {
// Scroll Up
if(st + $(window).height() < $(document).height()) {
$('nav').removeClass('nav-up').addClass('nav-down');
}}
lastScrollTop = st;
}
.nav-up { top: -100px; }
#s-nav {
\t position: fixed;
\t z-index: 999;
\t top: 0;
\t width: 100%; height: 100px;
\t 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" class="nav-down">
<p>navigation</p>
</nav>
문제를 재현하는 JSFiddle을 게시 할 수 있습니까? –
여기에서 설정 코드 조각을 사용하는 것이 더 좋습니다 –
코드 조각으로 코드를 다시 만듭니다 – user3550879