forked from isedgar/interpolation
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdragscroll.min.js
More file actions
8 lines (8 loc) · 1.15 KB
/
dragscroll.min.js
File metadata and controls
8 lines (8 loc) · 1.15 KB
1
2
3
4
5
6
7
8
/**
* @fileoverview dragscroll - scroll area by dragging
* @version 0.0.8
*
* @license MIT, see http://github.com/asvd/dragscroll
* @copyright 2015 asvd <heliosframework@gmail.com>
*/
!function(e,n){"function"==typeof define&&define.amd?define(["exports"],n):"undefined"!=typeof exports?n(exports):n(e.dragscroll={})}(this,(function(e){var n,t,o=window,r=document,i="mousemove",l="mouseup",c="mousedown",d=[],s=function(e,s){for(e=0;e<d.length;)(s=(s=d[e++]).container||s).removeEventListener(c,s.md,0),o.removeEventListener(l,s.mu,0),o.removeEventListener(i,s.mm,0);for(d=[].slice.call(r.getElementsByClassName("dragscroll")),e=0;e<d.length;)!function(e,d,s,m,a,f){(f=e.container||e).addEventListener(c,f.md=function(n){e.hasAttribute("nochilddrag")&&r.elementFromPoint(n.pageX,n.pageY)!=f||(m=1,d=n.clientX,s=n.clientY,n.preventDefault())},0),o.addEventListener(l,f.mu=function(){m=0},0),o.addEventListener(i,f.mm=function(o){m&&((a=e.scroller||e).scrollLeft-=n=-d+(d=o.clientX),a.scrollTop-=t=-s+(s=o.clientY),e==r.body&&((a=r.documentElement).scrollLeft-=n,a.scrollTop-=t))},0)}(d[e++])};"complete"==r.readyState?s():o.addEventListener("load",s,0),e.reset=s}));