javascript - Ho 制作一个在页面滚动时淡入的导航栏

标签 javascript css html

我制作了一个导航栏,其背景颜色在用户向下滚动时从透明变为半透明黑色。我的问题是当用户滚动到页面顶部时我无法让它变回透明 这是我目前所拥有的

HTML:

<nav id="mynav" style="transition: 1.4s ease-in" position:fixed;> <div class="collapse navbar-collapse" id="collapsibleNavbar">
<ul class="navbar-nav">
  <li class="nav-item">
    <a class="nav-link" href="Courses.html">Home</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="Log In">Videos</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Images</a>
  </li>    
</ul></nav>

JS:

    window.onscroll = navfade;
function navfade(){
    var nbar = document.getElementById("mynav");
    if(nbar.scrollTop < 5){
        nbar.style.background = "rgba(10,10,20,0.45)";
    }else {
        nbar.style.background = "transparent";
    }
}

最佳答案

在您的 navFade 函数中,nbar.scrollTop 的值始终为 0。

检查 How to get and set the current web page scroll position?

我将 nbar.scrollTop 替换为 document.documentElement.scrollTop

window.onscroll = navfade;
function navfade(){
    var nbar = document.getElementById("mynav");
   
    if(document.documentElement.scrollTop < 5){
        nbar.style.background = "rgba(10,10,20,0.45)";
    }else {
        nbar.style.background = "transparent";
    }
}
<nav id="mynav" style="transition: 1.4s ease-in" position:fixed;> <div class="collapse navbar-collapse" id="collapsibleNavbar">
<ul class="navbar-nav">
  <li class="nav-item">
    <a class="nav-link" href="Courses.html">Home</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="Log In">Videos</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Images</a>
  </li>    
</ul></nav>

<div>Fake Content</div>
<div>Fake Content</div>
<div>Fake Content</div>
<div>Fake Content</div>
<div>Fake Content</div>
<div>Fake Content</div>
<div>Fake Content</div>

关于javascript - Ho 制作一个在页面滚动时淡入的导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49282478/

相关文章:

html - Bootstrap 4 在小屏幕上的奇怪行为

html - Cordova/Kendo 开发和调试工作流程

javascript - 如果嵌入在 HTML 代码的脚本标记中会导致不需要的功能,那么转义 Javascript 序列的最简单方法是什么?

javascript - 从查询中的输入获取字符串值以显示 div

javascript - 通过 jquery 动态添加的输入字段未提交

javascript - 如何在 Javascript 中读取 ASP.net Session 对象?

css - 当浏览器宽度改变时自动调整 div 中两个图像的大小

CSS无限旋转动画

html - 将 div 与内联 block 对齐时出现空白

javascript - 当有人开始在网页上输入内容时显示搜索字段