-
-
Save carolineschnapp/a450c2d11e7f41ad81fd to your computer and use it in GitHub Desktop.
Back to the top snippet
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{% comment %} | |
Reduce below value if you need the back to the top button to appear higher up on the page. | |
That value is in pixels. | |
{% endcomment %} | |
{% assign vertical_offset_for_trigger = 300 %} | |
{% comment %} | |
Vertical offset from bottom of browser for the position of the button. | |
{% endcomment %} | |
{% assign position_from_bottom = '4em' %} | |
<a href="#" title="Back to the top" class="back-to-top"> | |
<span>Back to the top</span> <i class="fa fa-arrow-circle-o-up fa-2x"></i> | |
</a> | |
{{ '//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css' | stylesheet_tag }} | |
<style> | |
.back-to-top { | |
position: fixed; | |
bottom: {{ position_from_bottom }}; | |
right: 0px; | |
text-decoration: none; | |
color: #999; | |
background-color: #eee; | |
font-size: 16px; | |
padding: 0.3em; | |
display: none; | |
-webkit-border-top-left-radius: 3px; | |
-webkit-border-bottom-left-radius: 3px; | |
-moz-border-radius-topleft: 3px; | |
-moz-border-radius-bottomleft: 3px; | |
border-top-left-radius: 3px; | |
border-bottom-left-radius: 3px; | |
z-index: 60000; | |
} | |
.back-to-top i { | |
vertical-align: middle; | |
} | |
.back-to-top span { | |
padding-left: 0.5em; | |
} | |
.back-to-top i + span { | |
padding-left: 0; | |
} | |
.back-to-top:hover { | |
text-decoration: none; | |
color: #555; | |
} | |
</style> | |
<script> | |
jQuery(function($) { | |
var offset = {{ vertical_offset_for_trigger }}; | |
var duration = 500; | |
$(window).scroll(function() { | |
if ($(this).scrollTop() > offset) { | |
$('.back-to-top').fadeIn(duration); | |
} | |
else { | |
$('.back-to-top').fadeOut(duration); | |
} | |
}); | |
$('.back-to-top').unbind('click.smoothscroll').bind('click', function(e) { | |
e.preventDefault(); | |
$('html, body').animate( { scrollTop: 0 }, duration); | |
return false; | |
}) | |
}); | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment