【发布时间】:2020-04-26 08:35:31
【问题描述】:
作为脚本新手,我恳请有关此问题的帮助: 我希望在我的主页加载时隐藏我的导航栏(#header-menu)。向下滚动一点(500px)后,我希望它被显示出来。该脚本有效,除了导航栏在到达主页时显示。向下滚动时它会消失,然后再次出现。但问题是在到达主页时(例如点击徽标时)默认情况下它不会隐藏。
<header>
<div id="header-content">
<a href="index.php#toppage"><img src="images/Logo.png" alt="" style="float:left"></a>
<a href="index.php#toppage"><img src="images/Logo2.png" alt="" style="float:right"></a>
</div>
<ul id="header-menu" class="grid-4">
<li><a href="#menu-item-1" class="page-scroll menu-item-blue">menu-item-1</a></li>
<li><a href="#menu-item-2" class="page-scroll menu-item-blue">menu-item-2</a></li>
<li><a href="#menu-item-3" class="page-scroll menu-item-blue">menu-item-3</a></li>
<li><a href="#menu-item-4" class="page-scroll menu-item-blue">menu-item-4</a></li>
</ul>
</header>
<script>
window.onscroll = function() {hidemenu()};
function hidemenu() {
var element = document.getElementById("header-menu");
if (document.body.scrollTop > 500 || document.documentElement.scrollTop > 500) {
element.classList.remove("hidden");
} else {
element.classList.add("hidden");
}
}
</script>
我想实际上我正在寻找“onscroll”的替代方法。我不想在用户滚动时触发导航栏的隐藏/显示,我希望它根据位置隐藏/显示。此外,当用户在其他页面上时,应该显示导航栏。此隐藏/显示仅适用于主页。 提前谢谢你。
【问题讨论】:
标签: javascript navbar hide show