Last active
October 9, 2016 20:30
-
-
Save englishextra/a547ad3055144ca927a6ce32fa769d36 to your computer and use it in GitHub Desktop.
modified for babel Zenscroll 3.2.2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! | |
* modified for babel Zenscroll 3.2.2 | |
* github.com/zengabor/zenscroll | |
* removed AMD, CommonJS support | |
* changed this or window to self as argument | |
* fixed IIFE enforcing | |
* added brackets in if / for | |
* Copyright 2015–2016 Gabor Lenard | |
* minified with closure-compiler.appspot.com/home | |
* github.com/zengabor/zenscroll/blob/dist/zenscroll.js | |
*/ | |
var zenscroll=(function(){"use strict";if("undefined"==typeof window||!("document"in window)){return{};};var t=function(t,e,n){e=e||999,n||0===n||(n=9);var o,i=document.documentElement,r=function(){return"getComputedStyle"in window&&"smooth"===window.getComputedStyle(t?t:document.body)["scroll-behavior"]},c=function(){return t?t.scrollTop:window.scrollY||i.scrollTop},u=function(){return t?Math.min(t.offsetHeight,window.innerHeight):window.innerHeight||i.clientHeight},f=function(e){return t?e.offsetTop:e.getBoundingClientRect().top+c()-i.offsetTop},l=function(){clearTimeout(o),o=0},a=function(n,f,a){if(l(),r()){(t||window).scrollTo(0,n),a&&a();}else{var d=c(),s=Math.max(n,0)-d;f=f||Math.min(Math.abs(s),e);var m=(new Date).getTime();(function e(){o=setTimeout(function(){var n=Math.min(((new Date).getTime()-m)/f,1),o=Math.max(Math.floor(d+s*(n<.5?2*n*n:n*(4-2*n)-1)),0);t?t.scrollTop=o:window.scrollTo(0,o),n<1&&u()+o<(t||i).scrollHeight?e():(setTimeout(l,99),a&&a())},9)}());}},d=function(t,e,o){a(f(t)-n,e,o)},s=function(t,e,o){var i=t.getBoundingClientRect().height,r=f(t),l=r+i,s=u(),m=c(),h=m+s;r-n<m||i+n>s?d(t,e,o):l+n>h?a(l-s+n,e,o):o&&o()},m=function(t,e,n,o){a(Math.max(f(t)-u()/2+(n||t.getBoundingClientRect().height/2),0),e,o)},h=function(t,o){t&&(e=t),(0===o||o)&&(n=o)};return{setup:h,to:d,toY:a,intoView:s,center:m,stop:l,moving:function(){return!!o}}},e=t();if("addEventListener"in window&&"smooth"!==document.body.style.scrollBehavior&&!window.noZensmooth){var n=function(t){try{history.replaceState({},"",window.location.href.split("#")[0]+t)}catch(t){};};window.addEventListener("click",function(t){for(var o=t.target;o&&"A"!==o.tagName;){o=o.parentNode;};if(!(!o||1!==t.which||t.shiftKey||t.metaKey||t.ctrlKey||t.altKey)){var i=o.getAttribute("href")||"";if(0===i.indexOf("#")){if("#"===i){t.preventDefault(),e.toY(0),n("");}else{var r=o.hash.substring(1),c=document.getElementById(r);c&&(t.preventDefault(),e.to(c),n("#"+r))}}}},!1);};return{createScroller:t,setup:e.setup,to:e.to,toY:e.toY,intoView:e.intoView,center:e.center,stop:e.stop,moving:e.moving};}()); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Wrong parameters to
zenscroll.to()
: the first parameter must be an HTML element.You probably wanted to write this:
zenscroll.toY(500,0)
Here's how to use: https://zengabor.github.io/zenscroll/#howtouse