Twitter bootstrap Sticky header
Add a nice sticky header to your bootstrap website.
by Martin Emanuelsson
HTML
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<p>Welcome - Scroll down 100px to display menu</p>
<!-- Static navbar -->
<nav class="navbar navbar-default 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="#">Project name</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li class="dropdown-header">Nav header</li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="../navbar/">Default</a></li>
<li class="active"><a href="./">Static top <span class="sr-only">(current)</span></a></li>
<li><a href="../navbar-fixed-top/">Fixed top</a></li>
</ul>
</div>
<!--/.nav-collapse -->
...
CSS
body {
height: 3000px;
background: #CCC;
}
.navbar {
position: fixed;
margin-top: -80px;
}
.navbar {
-webkit-box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.6);
-moz-box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.6);
box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.6);
-webkit-transition: margin 0.1s ease-out;
-moz-transition: margin 0.1s ease-out;
-o-transition: margin 0.1s ease-out;
}
JavaScript
jQuery(window).scroll(function() {
'use strict';
if (jQuery(this).scrollTop() > 100) {
jQuery('.navbar').stop().animate({
marginTop: '0px'
});
} else {
jQuery('.navbar').stop().animate({
marginTop: '-80px'
});
}
console.log('Scrollbar is ready.');
});