Created
August 18, 2015 17:55
-
-
Save ivanalvarado/a2a0ab21f9fb49ecdabd to your computer and use it in GitHub Desktop.
Smooth Scroll Back to Top Button
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
/* Place this code in your JS file */ | |
jQuery(document).ready(function($){ | |
// browser window scroll (in pixels) after which the "back to top" link is shown | |
var offset = 300, | |
//browser window scroll (in pixels) after which the "back to top" link opacity is reduced | |
offset_opacity = 1200, | |
//duration of the top scrolling animation (in ms) | |
scroll_top_duration = 3500, | |
//grab the "back to top" link | |
$back_to_top = $('.cd-top'); | |
//hide or show the "back to top" link | |
$(window).scroll(function(){ | |
( $(this).scrollTop() > offset ) ? $back_to_top.addClass('cd-is-visible') : $back_to_top.removeClass('cd-is-visible cd-fade-out'); | |
if( $(this).scrollTop() > offset_opacity ) { | |
$back_to_top.addClass('cd-fade-out'); | |
} | |
}); | |
//smooth scroll to top | |
$back_to_top.on('click', function(event){ | |
event.preventDefault(); | |
$('body,html').animate({ | |
scrollTop: 10 | |
}, scroll_top_duration | |
); | |
$('body,html').animate({ | |
scrollTop: 0 | |
}, 0 | |
); | |
}); | |
}); |
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
/* Place this code in your CSS file */ | |
.cd-top { | |
display: inline-block; | |
height: 40px; | |
width: 40px; | |
position: fixed; | |
bottom: 40px; | |
right: 10px; | |
box-shadow: 0 0 10px rgba(0, 0, 0, 0.05); | |
/* image replacement properties */ | |
overflow: hidden; | |
text-indent: 100%; | |
white-space: nowrap; | |
background: rgba(232, 98, 86, 0.8) url(../img/cd-top-arrow.svg) no-repeat center 50%; | |
visibility: hidden; | |
opacity: 0; | |
-webkit-transition: opacity .3s 0s, visibility 0s .3s; | |
-moz-transition: opacity .3s 0s, visibility 0s .3s; | |
transition: opacity .3s 0s, visibility 0s .3s; | |
} | |
.cd-top.cd-is-visible, .cd-top.cd-fade-out, .no-touch .cd-top:hover { | |
-webkit-transition: opacity .3s 0s, visibility 0s 0s; | |
-moz-transition: opacity .3s 0s, visibility 0s 0s; | |
transition: opacity .3s 0s, visibility 0s 0s; | |
} | |
.cd-top.cd-is-visible { | |
/* the button becomes visible */ | |
visibility: visible; | |
opacity: 1; | |
} | |
.cd-top.cd-fade-out { | |
/* if the user keeps scrolling down, the button is out of focus and becomes less visible */ | |
opacity: .5; | |
} | |
.no-touch .cd-top:hover { | |
background-color: #e86256; | |
opacity: 1; | |
} |
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
<!-- Place this code at the bottom of your body but right before you load you scripts in you HTML file --> | |
<a href="#0" class="cd-top">Top</a> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment