Skip to content

Instantly share code, notes, and snippets.

@Mark24Code
Forked from benjamincharity/zepto.smoothScroll.js
Created August 18, 2016 03:14
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 Mark24Code/3bd75b842981c929794bdc399715d500 to your computer and use it in GitHub Desktop.
Save Mark24Code/3bd75b842981c929794bdc399715d500 to your computer and use it in GitHub Desktop.
Smooth scrolling with Zepto.js
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