Over a year ago I wrote an article on scrolling a page using Prototype, just to update things here I’m going to run through scrolling a page using jQuery and the animate() function. Automated page scrolling is useful in many cases. A good example of this technique can be found in the personal project i worked on a few months back ‘We Deliver’ which you can find here. The page scroll in this project was particularly important as it’s a single page site in that all the content and animation happens within a single user experience.
It’s extremely easy to get started using jQuery scroll. First we need to declare the element that the vertical scrollbar uses as it’s reference so in other words we want to scroll the main html body window for example.
$('html, body').animate({
The next line is saying scroll to the element defined (in this case the element .bottom) we’re not defining an offset so it takes the top of the element.
scrollTop: $(".bottom").offset().top
The vertical scroll position is the same as the number of pixels that are hidden from view above the scrollable area. If the scroll bar is at the very top, or if the element is not scrollable, this number will be 0.
$("document").ready(function() {
$('.top-title').click(function(){
$('html, body').animate({
scrollTop: $(".middle").offset().top
}, 2000);
});
$('.middle-title').click(function(){
$('html, body').animate({
scrollTop: $(".bottom").offset().top
}, 2000);
});
$('.bottom-title').click(function(){
$('html, body').animate({
scrollTop: $(".top").offset().top
}, 2000);
});
});
Now I found two solutions thks
This is one of the most user friendly jquery plug-ins I’ve ever come across. Simple to implement & easy to adjust.
Thanks.
Many thanks it works perfectly!!
Hey Vindikato:
$(function() {
$(‘.nav a’).bind(‘click’,function(event){
var anchor = $(this).attr(‘href’);
$(‘html, body’).stop().animate({
scrollLeft: $(anchor).offset().left
}, 500);
event.preventDefault();
});
});
Very, very, very goooood stuff!
I search a Horizontaly option… that is posible rigth here?
Thanks
I’m sorry to sound really amateur here but…
How would I make the click function work with a <a href .. hyperlink …
I see you've used Div classes and made them clickable.
Help me out?
Thanks a lot men! saludos de Mexicali, Mexico
How would you use this in a naviagation?
Thanks Ashley. Came in quite handy. Appreciate your help.
Strange behavior in IOS4 / Ipad – any ideas?
Hi!
This works otherwise nicely, but I’m experiencing weird flashes before it starts to scroll. The flashing happens when I click the link. Any ideas why this happens? Ohter than that, it works great. Thanks!
This works great for a project I’m working on. It looked very smooth on FireFox and Safari.
Pingback: Tweets that mention jQuery page scrolling | Papermashup.com -- Topsy.com
Works great in chrome however In Opera it jumps to the top of the screen before beginning to scroll. Not sure why that is.
Pingback: Tweets that mention jQuery page scrolling | Papermashup.com -- Topsy.com
Designer and web developer, Co-founder and Technical Director at Harkable.com London. Previously I worked at InMobi, Spotify and MySpace. Interests include photography and making short videos. Also an avid F1 fan.
Follow us on Twitter and get in-stream updates.
Subscribe to all the Papermashup tutorials and articles straight to your RSS reader.
Sign up and get all the Papermashup tutorials straight to your inbox.
16 discussions around jQuery page scrolling