Sticky NavBar onScroll?

前端 未结 5 871
失恋的感觉
失恋的感觉 2021-01-06 11:06

I\'m currently building a site for myself, and I found this really awesome effect on multiple sites where the navbar is below an image, but when you scroll past it, it stick

相关标签:
5条回答
  • 2021-01-06 11:23

    Here is an example of sticky navigation bar On-Scroll with dynamic height getting

    JS

    You need to add a jQuery Library file first.

    Here is fiddle link- https://jsfiddle.net/CV_pawan/4nr4codq/1/

    $(document).ready(function(){
      var num = $(".header-class").offset().top; 
      $(window).bind('scroll', function() { 
        if ($(window).scrollTop() > num) {  
          $('.header-class').addClass('fixed');  
        } 
        else {  
         $('.header-class').removeClass('fixed');    
        } 
      });
    });
    

    CSS

    body {
      margin: 0px;
      padding: 0px;
    }
    
    .nav-bar-white {
      background-color: #125456;
      width: 100%;
    }
    
    .active-2 {
      float: right;
      width: 49%;
      text-align: right;
    }
    
    .fixed {
      position: fixed;
      width: 100%;
      top: 0;
    }
    
    h3 {
      color: #fff;
    }
    
    .first {
      background: #000;
      width: 49%;
      display: inline-block;
      margin: 0px;
      padding: 0px;
      border: 1px solid #fff;
    }
    
    .first p {
      color: #fff;
    }
    
    .second {
      background: #000;
      width: 49%;
      display: inline-block;
      margin: 0px;
      padding: 0px;
      border: 1px solid #fff;
    }
    
    .second p {
      color: #fff;
    }
    
    ul {
      list-style-type: none;
      margin: 0;
      padding: 0;
      overflow: hidden;
      background-color: #300E06;
    }
    
    li {
      float: left;
    }
    
    li a {
      display: block;
      color: white;
      text-align: center;
      padding: 14px 16px;
      text-decoration: none;
    }
    
    li a:hover {
      background-color: #000;
    }
    

    HTML

    <ul class="nav-bar-white">
      <li class="active-1"><a href="#home">Company Logo</a></li>
    </ul>
    
    <ul class="header-class">
      <li><a class="active" href="#home">Home</a></li>
      <li><a href="#news">News</a></li>
      <li><a href="#contact">Contact</a></li>
      <li><a href="#about">About</a></li>
    </ul>
    <div>
      <div class="first">
        <h3>
    What is Lorem Ipsum?
    </h3>
        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It
          has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
          publishing software like Aldus PageMaker including versions of Lorem Ipsum
          <p>
            Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has
            survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
            publishing software like Aldus PageMaker including versions of Lorem Ipsum
          </p>
        </p>
      </div>
      <div class="second">
        <h3>
    What is Lorem Ipsum?
    </h3>
        <p>
          <p>
            Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has
            survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
            publishing software like Aldus PageMaker including versions of Lorem Ipsum
          </p>
          <p>
            Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has
            survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
            publishing software like Aldus PageMaker including versions of Lorem Ipsum
          </p>
        </p>
      </div>
    </div>
    
    <div class="first">
      <h3>
    What is Lorem Ipsum?
    </h3>
      <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It
        has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
        publishing software like Aldus PageMaker including versions of Lorem Ipsum
        <p>
          Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has
          survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
          publishing software like Aldus PageMaker including versions of Lorem Ipsum
        </p>
      </p>
    </div>
    <div class="second">
      <h3>
    What is Lorem Ipsum?
    </h3>
      <p>
        <p>
          Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has
          survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
          publishing software like Aldus PageMaker including versions of Lorem Ipsum
        </p>
        <p>
          Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has
          survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
          publishing software like Aldus PageMaker including versions of Lorem Ipsum
        </p>
      </p>
    </div>
    </div>
    
    0 讨论(0)
  • 2021-01-06 11:24

    Here are some few examples

    With in bootstrap you can use navbar-fixed-top class.

    <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
      <div class="container">
        ...
      </div>
    </nav>
    

    Have a look at following links:

    Fixed to Top : http://getbootstrap.com/components/#navbar-fixed-top

    Fixed Navbar example : http://getbootstrap.com/examples/navbar-fixed-top/

    0 讨论(0)
  • 2021-01-06 11:28

    Here's a Bootstrap example that attaches the navbar to the top once the user has scrolled past the top header..

    http://www.bootply.com/121595

    Here is another example that is animates the attaching of the navbar using CSS transition

    http://www.bootstrapzero.com/bootstrap-template/the-firm

    0 讨论(0)
  • 2021-01-06 11:39

    Here is what @Matthew was talking about:

    Check this fiddle http://jsfiddle.net/luckmattos/yp8HK/1/

    JQUERY

    var num = 200; //number of pixels before modifying styles
    
    $(window).bind('scroll', function () {
        if ($(window).scrollTop() > num) {
            $('.menu').addClass('fixed');
        } else {
            $('.menu').removeClass('fixed');
        }
    });
    

    Hope it helps, I used bootstrap navbar.

    0 讨论(0)
  • 2021-01-06 11:47

    Here is a REAL quick example I threw together with jquery and some very simple css.

    JS

    $(window).on('scroll', function(){
        if($(window).scrollTop()>=95 && !$('nav').hasClass('fixed')){
            $('nav').addClass('fixed'); 
        }
        else if($(window).scrollTop()<95 && $('nav').hasClass('fixed')){
           $('nav').removeClass('fixed') 
        }
    });
    

    CSS

    .container {
      height: 1800px;
    }
    
    .header {
      text-align: center;
    }
    
    nav {
      background-color: #efefef;
      border-top: 2px solid #666;
      border-bottom: 2px solid #666;
      padding: 15px;
      width: 100%;
    }
    nav ul {
      margin: 0;
      padding: 0;
      list-style: none;
    }
    nav li {
      display: inline-block;
    }
    
    .fixed {
      position: fixed;
      top: 0;
      left: 0;
    }
    

    HTML

    <div class="container">
    <div class="header">
      <img src="http://www.placehold.it/500x85" alt="" />
    <nav role='navigation'>
      <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Clients</a></li>
        <li><a href="#">Contact Us</a></li>
      </ul>
    </nav>  
    </div>
    </div>
    
    0 讨论(0)
提交回复
热议问题