javascript - 如何淡入/淡出滚动后固定的导航栏?

标签 javascript jquery css html

到目前为止,当您登陆页面时,我有一个带有透明背景的导航栏。滚动一定阈值后,它得到类navbar-fixed,使导航栏固定并改变外观。

但是,我希望它在出现时具有平滑的淡入和淡出效果(当您再次向上滚动时,消失)。

我怎样才能做到这一点? Jquery fadeIn 和 fadeOut 不起作用,因为它实际上完全隐藏了带有 fadeOut 的导航栏。

<div id="nav" class="navbar-trans">
</div>

<script type="text/javascript">
  $(document).ready(function() {

  $(window).scroll(function () {
      //if you hard code, then use console
      //.log to determine when you want the 
      //nav bar to stick.  
      console.log($(window).scrollTop())
    if ($(window).scrollTop() > 280) {
      $('#nav').removeClass('navbar-trans').addClass('navbar-fixed');
    }
    if ($(window).scrollTop() < 281) {
      $('#nav').removeClass('navbar-fixed').addClass('navbar-trans');
    }
  });
});
</script>

最佳答案

使用CSS过渡

#nav {
    transition: opacity 0.25s;
}

.navbar-fixed {
    opacity: 0.75
}

.navbar-trans {
    opacity: 1;
}

关于javascript - 如何淡入/淡出滚动后固定的导航栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41731282/

相关文章:

css - css scale transform如何影响文档流?

javascript - 使用 javascript 在浏览器中使用折线图可视化日期特定数据

javascript - Knockout JS 入门

php - 将 DataTables 中的 aoData 数组与序列化形式相结合

jquery - 网站在移动设备上没有响应,但在计算机上没有响应

css - 通过下面的背景颜色为具有透明度的灰度(但 RGB)图像着色

javascript - 从url获取id

javascript - 获取目录 map 的帖子位置

javascript - 水平拉伸(stretch) div 背景图像

css - 媒体查询 - 显示 :none not working