【问题标题】:How can I change the bootstrap nav bar from a clear bar to a black bar on scroll?如何在滚动时将引导导航栏从透明栏更改为黑色栏?
【发布时间】:2016-12-15 05:23:41
【问题描述】:

我正在做一个项目,我希望引导导航栏在您开始滚动之前显示为透明,然后黑色栏将替换透明栏。我知道那里有类似的教程。但我想和我开始创作的那个一起工作。但是,我只是不确定如何正确定位它,以及我需要哪些 css 属性来实现我想要的效果。提前致谢!

抱歉已修复。希望它在滚动时从透明条变为黑条。

https://jsfiddle.net/qbhx8jke/

HTML:

 <nav class="navbar navbar-inverse navbar-fixed-top">
  <div class="container">
        <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-   toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">JO Project</a>
    </div>
    <div id="navbar" class="collapse navbar-collapse">
      <ul class="nav navbar-nav">
        <li><a href="#part1">Part 1</a></li>
        <li><a href="#part2">Part 2</a></li>
        <li><a href="#part3">Part 3</a></li>
        <li><a href="#part4">Part 4</a></li>
      </ul>
    </div><!--/.nav-collapse -->
  </div>
</nav>

jquery:

<script>
$(document).ready(function(){
$(window).scroll(function(){
    if($(window).scrollTop() > $(window).height()){
        $(".navbar").css({"background-color":"transparent"});   
    }
})

})

【问题讨论】:

标签: jquery css twitter-bootstrap


【解决方案1】:

在引导程序中,如果您使用类 .navbar-inverse,则无法更改背景颜色。所以使用.navbar-default。 试试下面的代码可能会有所帮助

$(document).ready(function(){
$(window).scroll(function(){
    if($(window).scrollTop() > $(window).height()){
        $(".navbar").css({"background-color":"black"});   
      $(".navbar-default").css({"background-color":"black;","border-color":"black"})
    }
});
});
.navbar{
  background-color: transparent;
  }
.navbar-default {
    background-color: transparent;
    border-color: transparent;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav class="navbar navbar-default navbar-fixed-top">
  <div class="container-fluid">
    <div class="navbar-header">
      <a class="navbar-brand" href="#">WebSiteName</a>
    </div>
    <ul class="nav navbar-nav">
      <li class="active"><a href="#">Home</a></li>
      <li><a href="#">Page 1</a></li>
      <li><a href="#">Page 2</a></li>
      <li><a href="#">Page 3</a></li>
    </ul>
  </div>
</nav>
  
<div class="container">
  <h3>Basic Navbar Example</h3>
  <p>A navigation bar is a navigation header that is placed at the top of the page.</p>
</div>

【讨论】:

  • 对不起。我刚刚编辑了我的问题。我希望将导航栏设置为透明,然后在滚动时变为黑色。
  • 感谢您帮助我修复我的代码。但是,现在在您开始滚动之前的最顶部,默认导航栏是白色的,而不是我的背景图像的颜色(所以不是完全透明的)。你知道为什么吗?
  • .jumbotron{ 背景:url(../images/banner_final2.JPG) 无重复中心中心固定;高度:700 像素; font-family: 'Roboto Slab', serif;颜色:黑色; }
  • ^CSS 用于全角背景图片
猜你喜欢
  • 2018-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-30
  • 1970-01-01
  • 2015-11-28
  • 1970-01-01
相关资源
最近更新 更多