【问题标题】:Shrink and change background navbar on scroll滚动时缩小和更改背景导航栏
【发布时间】:2016-09-27 05:49:33
【问题描述】:

我试图让我的导航栏在滚动后立即缩小并更改背景颜色。我尝试了类似问题中提供的一些 javascript 解决方案,但它似乎不起作用。这是我的 html 的样子:

<nav id="menu" class="navbar navbar-default navbar-fixed-top">
  <div class="container"> 
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <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="index.html"><i class="fa fa-cog fa-spin fa-1x fa-fw margin-bottom" aria-hidden="true"></i> PROTOTYPE<font color="#37c6f5">MY</font>SKETCH<strong></strong></a> </div>

      <!-- Collect the nav links, forms, and other content for toggling -->
      <div class="collapse navbar-collapse">
        <ul class="nav navbar-nav navbar-right">
          <li class="dropdown">
            <a href="#" class="dropdown-toggle">Contact</a>
            <ul class="dropdown-menu"> 
            </ul>
          </li>
        </ul>

        <ul class="nav navbar-nav navbar-right">
          <li class="dropdown">
            <a href="#" class="dropdown-toggle">Services</a>
            <ul class="dropdown-menu"> 
            </ul>
          </li>
        </ul>

        <ul class="nav navbar-nav navbar-right">
          <li class="dropdown">
            <a href="about.html" class="dropdown-toggle">About</a>
          </li>
        </ul>

        <ul class="nav navbar-nav navbar-right">
          <li class="dropdown">
            <a href="#" class="dropdown-toggle">Home</a>
            <ul class="dropdown-menu"> 
            </ul>
          </li>
        </ul>

      </div>
      <!-- /.navbar-collapse --> 
    </div>
    <!-- /.container-fluid --> 
  </nav>

非常感谢任何帮助!

【问题讨论】:

  • 向我们展示您尝试过的 Javascript 代码..
  • 道歉。它来自另一个 stackoverflow 解决方案。
  • $(window).scroll(function() { if ($(document).scrollTop() > 150) { $('.navbar').addClass('shrink'); } else { $('.navbar').removeClass('shrink'); } });
  • 你说它不起作用是什么意思?不过这似乎是正确的。我认为它是shrink 类,您也更改了background-color
  • 收缩类是什么意思?我应该为我的导航栏添加收缩到 div 类中

标签: javascript html css twitter-bootstrap


【解决方案1】:
Using Jquery and Css you can change the background color of navbar with scrolling:

 $(document).ready(function(){
  $(window).scroll(function() { 
    if ($(document).scrollTop() > 150) { 
      $('.navbar').addClass('shrink'); 
    } else { 
      $('.navbar').removeClass('shrink'); 
    } 
  }); 
 });

CSS for that:
.navbar{
   transition: background-color 0.5s ease;
   background-color: #f8f8f8;
}
.navbar.shrink{ 
   background: #dddddd 
}

change color as per your requirement.

【讨论】:

    猜你喜欢
    • 2021-10-10
    • 2017-12-27
    • 1970-01-01
    • 2017-04-30
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    相关资源
    最近更新 更多