【发布时间】:2020-09-13 04:55:16
【问题描述】:
我正在尝试制作一个网页,其中顶部导航栏在向下滚动时隐藏并在向上滚动时显示。我正在使用下面给出的代码来执行此操作。
<nav class="navbar navbar-expand-lg navbar-dark navbar-custom fixed-top" id='navHeader'>
<!-- all the elements of navbar like logo and menu goes here-->
</nav> <!-- end of navbar -->
<!-- end of navigation -->
<script>
var header=document.getElementById("navHeader");
var prevScrollpos = window.pageYOffset;
window.onscroll = function() {
var currentScrollPos = window.pageYOffset;
if (prevScrollpos > currentScrollPos) {
navHeader.style.top = "0";
} else {
navHeader.style.top = "-50px";
}
prevScrollpos = currentScrollPos;
}
</script>
但问题是 element.style 应该在滚动播种的网页时加载。但它最初是在打开网页时加载的,并且导航栏最初是不可见的。当网页向下滚动然后再次向上滚动时,导航栏是可见的。
下面给出的图片也可能对您有所帮助
但是当页面第一次加载时,除非它被滚动,否则我猜不应该有任何 element.style。
那么为什么会发生这种情况,我该如何解决。
感谢您提前提供的任何帮助。
【问题讨论】:
-
这能回答你的问题吗? $(window).scroll() firing on page load
标签: javascript html css