Javascript 如何显示<;部门>;当用户不滚动页面时
这段简单的代码,当用户向下滚动页面并显示div时,隐藏div“导航栏”, 当用户向上滚动时 如何更改此代码-使div仅在用户滚动页面时才可见? 当用户停止滚动时,屏幕上将显示divJavascript 如何显示<;部门>;当用户不滚动页面时,javascript,scroll,Javascript,Scroll,这段简单的代码,当用户向下滚动页面并显示div时,隐藏div“导航栏”, 当用户向上滚动时 如何更改此代码-使div仅在用户滚动页面时才可见? 当用户停止滚动时,屏幕上将显示div <script> var prevScrollpos = window.pageYOffset; window.onscroll = function() { var currentScrollPos = window.pageYOffset; if (prevScrollpos > cur
<script>
var prevScrollpos = window.pageYOffset;
window.onscroll = function() {
var currentScrollPos = window.pageYOffset;
if (prevScrollpos > currentScrollPos) {
document.getElementById("navbar").style.top = "0";
} else {
document.getElementById("navbar").style.top = "-50px";
}
prevScrollpos = currentScrollPos;
}
</script>
var prevScrollpos=window.pageYOffset;
window.onscroll=函数(){
var currentScrollPos=window.pageYOffset;
如果(prevScrollpos>currentScrollPos){
document.getElementById(“navbar”).style.top=“0”;
}否则{
document.getElementById(“navbar”).style.top=“-50px”;
}
prevScrollpos=当前ScrollPos;
}
求求你,救命!
感谢您抽出时间您可以使用setTimeout实现这一点。它是这样工作的:当用户滚动时,导航栏被隐藏,并且超时开始,如果用户在接下来的100毫秒内没有滚动,则导航栏将可见
// We need this to manage setInterval
var isScrolling;
navbar = document.getElementById("navbar");
window.addEventListener('scroll', ()=>{
navbar.style.top = "-" + navbar.style.height;
window.clearTimeout( isScrolling );
isScrolling = setTimeout(function() {
navbar.style.top = "0";
}, 100);
}, false);
试试看。您可以使用setTimeout实现这一点。它是这样工作的:当用户滚动时,导航栏被隐藏,并且超时开始,如果用户在接下来的100毫秒内没有滚动,则导航栏将可见
// We need this to manage setInterval
var isScrolling;
navbar = document.getElementById("navbar");
window.addEventListener('scroll', ()=>{
navbar.style.top = "-" + navbar.style.height;
window.clearTimeout( isScrolling );
isScrolling = setTimeout(function() {
navbar.style.top = "0";
}, 100);
}, false);
试试看。我刚刚尝试了您建议的代码。它使div始终可见,与鼠标滚动无关:(我忘了在-50后面添加'px',here=>
document.getElementById(“navbar”).style.top=“-50”;
。我已经编辑了答案,现在再试一次,应该可以了。让我优化一下谢谢你标记我的答案!顺便说一句,你可以提取变量中的导航栏,以获得更有效的代码,并用导航栏的实际高度替换硬编码的-50px
。)检查答案。干杯喂,请多林-当用户单击页面或导航栏上的某个位置时,导航栏会隐藏起来,我该如何管理呢?(除了滚动之外,还有额外的内容!)我刚刚尝试了您建议的代码。它使div始终可见,与鼠标滚动没有任何关系:(我忘了在-50后面添加'px',here=>document.getElementById(“navbar”).style.top=“-50”;
。我已经编辑了答案,现在再试一次,应该可以了。让我优化一下谢谢你标记我的答案!顺便说一句,你可以提取变量中的导航栏,以获得更有效的代码,并用导航栏的实际高度替换硬编码的-50px
。)检查答案。干杯喂,请多林-当用户单击页面或导航栏上的某个位置时,导航栏会隐藏起来,我该如何管理呢?(除了卷轴之外,还有其他内容!)