Home jQuery

Scroll Page to Top Using jQuery

There are some friends who asked me how I did this "back to top" feature of our blog. For a live demo, try to scroll down this page, you will see an "up arrow" image on the lower right corner. When you click it, it will get you to the top of this page.

Code of a Ninja Scroll Page To Top

For me this is another cool feature for any website that make use of long vertical scroll bar. The user can instantly go the the top of the page easily, just in one click! So here's the HTML, CSS and jQuery code I used:

HTML - this will make our 'up arrow' image shown.

<a href="#" class="ninjaUp" title='Back to top...'>Scroll</a>

CSS - our arrow image looks a little blurred, but when you hover your mouse on it, it will be emphasized, thanks to CSS opacity!

.ninjaUp{
width:128px;
height:128px;
opacity:0.3;
position:fixed;
bottom:10px;
right:10px;
display:none;
text-indent:-9999px;
background: url('https://lh6.googleusercontent.com/-jqrSBwq8jN8/UYSas7Y9_eI/AAAAAAAAFGA/AESC5Kc64-I/s128/1367662569_upload_arrow_up.png') no-repeat;
}

.ninjaUp:hover{
opacity:0.6;
}

jQuery - this will detect scrolling, do the fade effect and scroll to top animation!

<script type="text/javascript">
$(document).ready(function(){

// detect scroll
$(window).scroll(function(){

// if the user scrolled the page more that 200 pixels, show the 'up' arrow image
if ($(this).scrollTop() > 200) {
$('.ninjaUp').fadeIn();
}

// hide the 'up' arrow image
else {
$('.ninjaUp').fadeOut();
}

});

// when the user clicks on the 'up' arrow image, it will scroll the page to the top
// it will occur in a second (see 1000 value below)
// you can change that value if you want to make the scroll faster or slower
$('.ninjaUp').click(function(){
$("html, body").animate({ scrollTop: 0}, 1000);
return false;
});

});
</script>

How about if I don't what to "scroll" it. Easy, you just have to make value to "0", so the code will be like this:

$('.ninjaUp').click(function(){
$("html, body").animate({ scrollTop: 0}, 0);
return false;
});

It is beautiful! Thanks to jQuery functions like jQuery scroll and animate and CSS Opacity!

Before you write a comment, please read this guide and our code of conduct.
2 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.