I have a few links across the page with the purpose of "going to the top", accomplished by scrolling the page to the top with a nice animation. I've noticed that sometimes while the page is scrolling the user will want to scroll back down, for example, but this is not possible. The screen will only stutter but will continue animating until it reaches the top.
I want to stop the animation if the user attempts to scroll, therefore I wrote this code:
$('#gototop').click(function() {
$('body').animate({scrollTop:0},3000);
$(window).scroll(function () {
$('body').stop();
});
return false;
})
This code is problematic, because the animate() counts as scrolling, therefore it only moves a tiny bit before it stops itself.
I've also tried key-down as an option but mouse scrolling doesn't register as a key.
Is there any way to call my scroll function when the user scrolls, not the animate()?