I'm trying to create a div that stays fixed on top when a user scrolls down and when he scrolls back up, goes back to the original position.
I need this exact same behaviour that 9gag offers -> http://9gag.com/gag/293756
Thanks!
I'm trying to create a div that stays fixed on top when a user scrolls down and when he scrolls back up, goes back to the original position.
I need this exact same behaviour that 9gag offers -> http://9gag.com/gag/293756
Thanks!
Do the following:
$(window)
.position: fixed
with top: 0
. You may also need to adjust the left attribute, depending on your layout.position: static
.Use the Jquery Waypoints plugin: http://imakewebthings.github.com/jquery-waypoints/
Extremely easy to implement.
The code that creates exactly the same behavior as 9gag.com:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- tags html, header, body, divs, anything -->
<div id="post-control-bar" class="spread-bar-wrap">
<div class="spread-bar" style="width:600px">
Facebook button, Twitter button, anything...
</div>
</div>
<script type="text/javascript">
window.onscroll = function()
{
if( window.XMLHttpRequest ) {
if (document.documentElement.scrollTop > 173 || self.pageYOffset > 173) {
$('post-control-bar').style.position = 'fixed';
$('post-control-bar').style.top = '0';
} else if (document.documentElement.scrollTop < 173 || self.pageYOffset < 173) {
$('post-control-bar').style.position = 'absolute';
$('post-control-bar').style.top = '';
}
}
}
</script>
<!-- content, footer, anything -->