简体   繁体   中英

Shrink and change background navbar on scroll

I am attempting to make my navbar shrink and change background color as soon as I scroll. I attempted some of the javascript solutions provided in a similar question but it did not seem to work. Here is what my html looks like:

 <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>

Any help is truly appreciated!

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM