我从另一个网站复制了这个脚本,我不确定我在这里做错了什么。该脚本假设删除/添加一个类,但由于某种原因它不起作用。
我在这个网址上对它进行了测试,这里工作得很好 http://rubenkoops.nl/script_library/cms/content/01-home/nav_hide_on_scroll_html_preview/
出于某种原因,它正在努力研究这个网址 http://18493.hosts.ma-cloud.nl/
我觉得我错过了一些非常愚蠢的东西,有人能想出来吗?
<style type="text/css">
header {
background: #f5b335;
height: 40px;
position: fixed;
top: 0;
left: 0;
transition: top 0.2s ease-in-out;
width: 100%;
}
.nav-up {
top: -40px;
}
</style>
<script type='text/javascript'>//<![CDATA[
$(function(){
// Hide Header on on scroll down
var didScroll;
var lastScrollTop = 0;
var delta = 5;
var navbarHeight = $('header').outerHeight();
$(window).scroll(function(event){
didScroll = true;
});
setInterval(function() {
if (didScroll) {
hasScrolled();
didScroll = false;
}
}, 250);
function hasScrolled() {
var st = $(this).scrollTop();
// Make sure they scroll more than delta
if(Math.abs(lastScrollTop - st) <= delta)
return;
// If they scrolled down and are past the navbar, add class .nav-up.
// This is necessary so you never see what is "behind" the navbar.
if (st > lastScrollTop && st > navbarHeight){
// Scroll Down
$('header').removeClass('nav-down').addClass('nav-up');
} else {
// Scroll Up
if(st + $(window).height() < $(document).height()) {
$('header').removeClass('nav-up').addClass('nav-down');
}
}
lastScrollTop = st;
}
});//]]>
</script>
<header class="nav-down">
Dit is het menu
</header>
答案 0 :(得分:2)
问题是脚本需要$("header")
元素AKA:
<header></header>
但你有
<div id="header"></div>
所以你在逻辑上有两个解决方案。
$("#header")
<header>
元素