javascript - 页面顶部的透明导航

标签 javascript html css

我有以下代码,它在用户滚动时向我的导航 div 添加/删除一个类。

 setInterval(function() {
  if (didScroll) {
  hasScrolled();
  didScroll = false;
}
}, 100);

function hasScrolled() {
    if ($(window).width() > 768) {
        var st = $(this).scrollTop();
        if (Math.abs(lastScrollTop - st) <= delta) {
            return;
        }
        if (st > lastScrollTop && lastScrollTop >= 0 && st > 0) {
            $('#anim-nav').removeClass('nav-down').addClass('nav-up');

        } else {
            $('#anim-nav').removeClass('nav-up').addClass('nav-down');

        }
    }
    lastScrollTop = st;
}

});

我想在用户靠近屏幕顶部时将 .trans-bg 添加到 #anim-nav。它有白色背景,但当它到达屏幕顶部时,我希望它在图像上透明。但是,当我将它添加到此功能时并不可靠。有时它会保持透明,或不透明。

不确定如何添加持续运行的内容以确保用户是否接近/位于应用的顶部。

最佳答案

也许这能帮上忙?

$(window).on('scroll', function () {
  if ($(window).scrollTop() > 10) {
    $('body').addClass('scrolled');
  } else {
    $('body').removeClass('scrolled');
  }
});
body {
  background: url("https://www.toptal.com/designers/subtlepatterns/patterns/christmas-black.png");
  height: 3000px;
}

.scrolled .header {
  background-color: rgba(255, 255, 255, .8)
}

.header {
  background-color: #fff;
  height: 80px;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  transition: .2s;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<header class="header"></header>

关于javascript - 页面顶部的透明导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49044723/

相关文章:

javascript - 是否可以将文件另存为带有 header 信息的静态 html 文件?

Javascript:如何在滑动另一个 div 时暂时禁用 div 上的滚动

javascript - 从一组 DOM 元素中获取最高的属性值

css - Bootstrap 中的列宽

javascript - 带有类的选中和未选中复选框。第一次取消选中后失败

html - 我在网站的阿拉伯语版本左侧有一个巨大的空白

html - 在 CSS 中设置移动页面缩放/缩放

html - 溢出文本未对齐

javascript - 使用 Firestore 进行 webRTC 视频聊天

javascript - 有没有办法将变量从 client.js 文件发送到您的 node.js 文件?