Skip to content

Instantly share code, notes, and snippets.

@alexanderkraemer
Forked from felipefialho/zepto.smoothScroll.js
Last active September 10, 2015 20:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexanderkraemer/20f3d589711d3cfc728c to your computer and use it in GitHub Desktop.
Save alexanderkraemer/20f3d589711d3cfc728c to your computer and use it in GitHub Desktop.
Zepto.js smooth vertical scrolling method. Implementing this code turns all anchor links with the class "scrollTo" into smooth scrolling anchor links. Rework of the foundation.js library method.
function smoothScroll(el, to, duration) {
if (duration < 0) {
return;
}
var difference = to - $(window).scrollTop();
var perTick = difference / duration * 10;
$(this).scrollToTimerCache = setTimeout(function() {
if (!isNaN(parseInt(perTick, 10))) {
window.scrollTo(0, $(window).scrollTop() + perTick);
smoothScroll(el, to, duration - 10);
}
}.bind(this), 10);
}
$('.scrollTo').on('click', function(e) {
e.preventDefault();
smoothScroll($(window), $($(e.currentTarget).attr('href')).offset().top, 200);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment