Demo of jQuery offsetScroller
A Pen by Mason Hale on CodePen.
<div id="top"> | |
<h3>jQuery offsetScroller demo</h3> | |
<div id="scroll-me"> | |
<a href="#box-1">Box 1</a> | | |
<a href="#box-2">Box 2</a> | | |
<a href="#box-3">Box 3</a> | | |
<a href="#box-4">Box 4</a> | | |
<a href="#box-5">Box 5</a> | | |
<a href="#box-6">Box 6</a> | | |
<a href="#box-7">Box 7</a> | | |
<a href="#box-8">Box 8</a> | | |
<a href="http://teamtopia.com">External link</a> | | |
<a href="#{^&,]">Invalid link</a> | |
</div> | |
</div> | |
<div id="buffer"></div> | |
<div class="box" id="box-1"> | |
<h1>Box 1</h1> | |
<a href="#buffer">Back to top</a> | |
</div> | |
<div class="box" id="box-2"> | |
<h1>Box 2</h1> | |
<a href="#buffer">Back to top</a> | |
</div> | |
<div class="box" id="box-3"> | |
<h1>Box 3</h1> | |
<a href="#buffer">Back to top</a> | |
</div> | |
<div class="box" id="box-4"> | |
<h1>Box 4</h1> | |
<a href="#buffer">Back to top</a> | |
</div> | |
<div class="box" id="box-5"> | |
<h1>Box 5</h1> | |
<a href="#buffer">Back to top</a> | |
</div> | |
<div class="box" id="box-6"> | |
<h1>Box 6</h1> | |
<a href="#buffer">Back to top</a> | |
</div> | |
<div class="box" id="box-7"> | |
<h1>Box 7</h1> | |
<a href="#buffer">Back to top</a> | |
</div> | |
<div class="box" id="box-8"> | |
<h1>Box 8</h1> | |
<a href="#buffer">Back to top</a> | |
</div> |
Demo of jQuery offsetScroller
A Pen by Mason Hale on CodePen.
// attach offsetScroll to target elements | |
$(document).ready(function() { | |
$().offsetScroller.defaults.offsetPixels = 92; | |
$('#scroll-me a').offsetScroller(); | |
$('.box a').offsetScroller({ | |
animationSpeed: 2000 | |
}); | |
$().offsetScroller.scrollToHash(window.location.hash); | |
}); |
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> | |
<script src="https://rawgit.com/masonhale/jquery-offset-scroller/master/jquery-offset-scroller.js"></script> |
body { | |
background-color: #e2e2e2; | |
margin: 0; | |
padding: 1px; | |
font-family: Helvetica, Arial, sans-serif; | |
} | |
.box { | |
height: 400px; | |
border: 8px solid #ccc; | |
margin-bottom: 30px; | |
padding: 30px; | |
} | |
#top { | |
margin: 0; | |
top: 0; | |
position: fixed; | |
height: 50px; | |
padding: 20px; | |
width: 100%; | |
background-color: rgba(255, 255, 255, 1); | |
box-shadow: 0px 2px 4px 0px rgba(50, 50, 50, 0.5); | |
} | |
#top h3 { | |
margin-top: 0px; | |
padding: 0; | |
margin-bottom: 10px; | |
} | |
#buffer { | |
background-color: #ff0000; | |
height: 90px; | |
/* 50 height + 20x2 padding */ | |
padding: 0; | |
margin: 0; | |
} |