Skip to content

Instantly share code, notes, and snippets.

@razwan
Created September 30, 2019 07:43
Show Gist options
  • Save razwan/06fcfdc56e90bc883f6f3d14d82e29bf to your computer and use it in GitHub Desktop.
Save razwan/06fcfdc56e90bc883f6f3d14d82e29bf to your computer and use it in GitHub Desktop.
Scroll to bottom with easings
function linear(t) { return t };
function easeInQuad(t) { return t*t };
function easeOutQuad(t) { return t*(2-t) };
function easeInOutQuad(t) { return t<.5 ? 2*t*t : -1+(4-2*t)*t };
function easeInCubic(t) { return t*t*t };
function easeOutCubic(t) { return (--t)*t*t+1 };
function easeInOutCubic(t) { return t<.5 ? 4*t*t*t : (t-1)*(2*t-2)*(2*t-2)+1 };
function easeInQuart(t) { return t*t*t*t };
function easeOutQuart(t) { return 1-(--t)*t*t*t };
function easeInOutQuart(t) { return t<.5 ? 8*t*t*t*t : 1-8*(--t)*t*t*t };
function easeInQuint(t) { return t*t*t*t*t };
function easeOutQuint(t) { return 1+(--t)*t*t*t*t };
function easeInOutQuint(t) { return t<.5 ? 16*t*t*t*t*t : 1+16*(--t)*t*t*t*t };
function scrollTo(c,e,d){d||(d=linear);var a=document.documentElement;
if(0===a.scrollTop){var b=a.scrollTop;++a.scrollTop;a=b+1===a.scrollTop--?a:document.body}
b=a.scrollTop;0>=e||("object"===typeof b&&(b=b.offsetTop),
"object"===typeof c&&(c=c.offsetTop),function(a,b,c,f,d,e,h){
function g(){0>f||1<f||0>=d?a.scrollTop=c:(a.scrollTop=b-(b-c)*h(f),
f+=d*e,setTimeout(g,e))}g()}(a,b,c,0,1/e,20,d))};
scrollTo(document.body.scrollHeight - window.innerHeight,3000,linear);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment