ue-scroll-js
Version:
Lightweight JavaScript library for scroll up
6 lines • 2.83 kB
JavaScript
/*!
* ue-scroll.js v2.0.2
* (c) 2018 azrsix
* Released under the MIT license
*/
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.UeScroll=t():e.UeScroll=t()}(window,(function(){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)t.d(o,r,function(t){return e[t]}.bind(null,r));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){n(1),e.exports=n(2)},function(){},function(e,t,n){"use strict";n.r(t),t.default={init:function(e){var t=window,n=t.document,o=Object.assign({element:"#ue-scroll",position:200,scrollSpeed:10,fadeSpeed:10,cancelByScroll:!0,cancelByClick:!0,cancelByKeydown:!0},e),r=n.querySelector(o.element),l=void 0!==t.ontouchstart;if(null!==r){var c,i=!1,a=!1,u=0,d=function(){a&&(clearInterval(c),a=!1)};n.addEventListener("DOMContentLoaded",(function(){r.style.display="none",r.style.opacity=0}),!1),t.addEventListener("scroll",(function(){var e,t,c=n.body.scrollTop||n.documentElement.scrollTop,a=function(e){r.style.opacity=e};!i&&c>=o.position&&(r.style.display="block",i=!0,clearInterval(e),e=setInterval((function(){!function(t){a(t+=.05),1<=t&&(clearInterval(e),r.style.opacity=1)}(parseFloat(r.style.opacity))}),o.fadeSpeed)),i&&c<o.position&&(i=!1,clearInterval(t),t=setInterval((function(){!function(e){a(e-=.05),.1>e&&(clearInterval(t),r.style.opacity=0,r.style.display="none")}(parseFloat(r.style.opacity))}),o.fadeSpeed)),!l&&o.cancelByScroll&&(c>u&&d(),u=c)})),o.cancelByClick&&t.addEventListener(l?"touchstart":"click",(function(e){e.target!==r&&d()})),o.cancelByKeydown&&t.addEventListener("keydown",(function(){d()})),r.addEventListener("click",(function(){var e=function(e,n){t.scrollTo(e,Math.floor(n-n/(2*o.scrollSpeed))),0>=n&&(clearInterval(c),a=!1,r.style.opacity=0)};return a||(a=!0,clearInterval(c),c=setInterval((function(){var t=n.body.scrollLeft||n.documentElement.scrollLeft,o=n.body.scrollTop||n.documentElement.scrollTop;e(t,o)}),o.scrollSpeed)),!1}))}}}}]).default}));