最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

jquery - javascript for position fixed on scroll - Stack Overflow

programmeradmin1浏览0评论

I have this div which is just a title.

<div class="container-fluid DFOCpadding">
<div class="row">
    <div class="col-lg-12">
        <div class=" text-center ">
        <span class="toptext">DANCE FOR OVARIAN CANCER</span>
        </div>
    </div>
</div>

and a nav bar under it which I'd like to position as fixed

<nav class="navbar navbar-default">
<div class="container"> 
    <div class="navbar-header page-scroll">
        <button type="button" class="navbar-toggle glyphicon glyphicon-chevron-down" data-toggle="collapse" data-target="#navbar">
            <span class="sr-only">Dance Dance</span>
        </button>
    </div>
    <div class="collapse navbar-collapse" id="navbar">
        <ul class="nav navbar-nav">
            <li><a href="">HOME</a></li>             
            <li><a class="scroll" href="#register"><span class="register">REGISTER</span></a></li>
            <li><a class="scroll" href="#faq">FAQ's</a></li>    
            <li><a class="scroll" href="#acts">ACTS</a></li>    
            <li><a class="scroll" href="#about">ABOUT</a></li>  
            <li><a class="scroll" href="#contact">CONTACT</a></li>      
        </ul>
    </div>
</div>
</nav>  

and I need the page to just catch the navbar when you scroll past it like on this site: /

I have seen answers for this but they are very restricted to the OP's use case and so I can't get it to work for my page.

cheers

I have this div which is just a title.

<div class="container-fluid DFOCpadding">
<div class="row">
    <div class="col-lg-12">
        <div class=" text-center ">
        <span class="toptext">DANCE FOR OVARIAN CANCER</span>
        </div>
    </div>
</div>

and a nav bar under it which I'd like to position as fixed

<nav class="navbar navbar-default">
<div class="container"> 
    <div class="navbar-header page-scroll">
        <button type="button" class="navbar-toggle glyphicon glyphicon-chevron-down" data-toggle="collapse" data-target="#navbar">
            <span class="sr-only">Dance Dance</span>
        </button>
    </div>
    <div class="collapse navbar-collapse" id="navbar">
        <ul class="nav navbar-nav">
            <li><a href="http://danceforovariancancer..au">HOME</a></li>             
            <li><a class="scroll" href="#register"><span class="register">REGISTER</span></a></li>
            <li><a class="scroll" href="#faq">FAQ's</a></li>    
            <li><a class="scroll" href="#acts">ACTS</a></li>    
            <li><a class="scroll" href="#about">ABOUT</a></li>  
            <li><a class="scroll" href="#contact">CONTACT</a></li>      
        </ul>
    </div>
</div>
</nav>  

and I need the page to just catch the navbar when you scroll past it like on this site: https://ovariancancer.au/

I have seen answers for this but they are very restricted to the OP's use case and so I can't get it to work for my page.

cheers

Share Improve this question asked Nov 30, 2015 at 1:56 lopulopu 1721 silver badge20 bronze badges 7
  • 1 whts the css for DFOCpadding? – Lucky Chingi Commented Nov 30, 2015 at 2:00
  • Hi, just a new class "navbar-fixed" in bootstrap, then your work is done – Marmik Bhatt Commented Nov 30, 2015 at 2:12
  • 1 @LuckyChingi just padding 20px top and bottom for the title :) – lopu Commented Nov 30, 2015 at 2:23
  • 1 @MarmikBhatt but this will send it to the top and cover the header div, cheers – lopu Commented Nov 30, 2015 at 2:24
  • 1 @lopu have a look at my answer below and adjust the if statement to match the padding – Lucky Chingi Commented Nov 30, 2015 at 2:27
 |  Show 2 more ments

2 Answers 2

Reset to default 8

Her's the code similar to 'https://ovariancancer.au/'

hope this helps

$(window).scroll(function() {
  if ($(window).scrollTop() > 100) {
    $(".navbar").css({
      'position': 'fixed',
      'top': '0px',
      'width': '100%',
      'background': '#cfcfcf',
      'z-index': '99'
    });
  } else {
    $(".navbar").css({
      'position': 'relative',
      'background': '#FFFFFF',
      'width': '100%'
    })
  }
});
<link href="//maxcdn.bootstrapcdn./bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container-fluid DFOCpadding">
  <div class="row">
    <div class="col-lg-12">
      <div class=" text-center ">
        <span class="toptext">DANCE FOR OVARIAN CANCER</span>
      </div>
    </div>
  </div>
  <nav class="navbar navbar-default">
    <div class="container">
      <div class="navbar-header page-scroll">
        <button type="button" class="navbar-toggle glyphicon glyphicon-chevron-down" data-toggle="collapse" data-target="#navbar">
          <span class="sr-only">Dance Dance</span>
        </button>
      </div>
      <div class="collapse navbar-collapse" id="navbar">
        <ul class="nav navbar-nav">
          <li><a href="http://danceforovariancancer..au">HOME</a>
          </li>
          <li><a class="scroll" href="#register"><span class="register">REGISTER</span></a>
          </li>
          <li><a class="scroll" href="#faq">FAQ's</a>
          </li>

          <li><a class="scroll" href="#acts">ACTS</a>
          </li>
          <li><a class="scroll" href="#about">ABOUT</a>
          </li>
          <li><a class="scroll" href="#contact">CONTACT</a>
          </li>
        </ul>
      </div>
    </div>
  </nav>
  <P>&nbsp;</p>
  <P>&nbsp;</p>      <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>      <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>      <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>      <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>      <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>      <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>      <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>      <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>      <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>      <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>
  <P>&nbsp;</p>

Try this:

.navbarfixed {
    position: fixed;
 }



$(function() {
var nav = $(".navbar");
$(window).scroll(function() {    
    var scroll = $(window).scrollTop();

    if (scroll >= 500) {
        nav.addClass("navbarfixed");
    } else {
        nav.removeClass("navbarfixed");
    }
});
});
发布评论

评论列表(0)

  1. 暂无评论