-
Notifications
You must be signed in to change notification settings - Fork 0
/
wheelzoom.min.js
1 lines (1 loc) · 1.36 KB
/
wheelzoom.min.js
1
(function(){var t,e,n,o,l,i;o=function(t){return t.substr(0,t.length-2)-0},e=function(t){return t+"px"},t=function(t){var e;return"function"==typeof(e=document.defaultView||window).getComputedStyle?e.getComputedStyle(t,null):void 0},n=function(t){var e,n,o;return n=t.ownerDocument.documentElement,e=t.getBoundingClientRect(),o=document.defaultView||t.parentWindow||window,{top:e.top+(o.pageYOffset||n.scrollTop)-(n.clientTop||0),left:e.left+(o.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}},l=this.wheelevent,i=function(i,c){var r;return null==c&&(c=i.parentNode),i.style.position="relative",i.style.left="0px",i.style.top="0px",i.setAttribute("data-wheelzoom-scale-factor",0),r=function(l,r){var u,a,f,s,p,d,w,h,m,y,v,g,b,x,D,z,A;return m=i.getAttribute("data-wheelzoom-scale-factor")-0,D=m+(Math.abs(r)>80?r/1e3:r/30),h=Math.exp(m),b=Math.exp(D),w=o(i.style.left),v=o(i.style.top),g=i.clientWidth,d=i.clientHeight,g||(y=t(i),g=o(y.width),d=o(y.height)),p=n(c),f=(l.clientX||window.event.clientX)+c.ownerDocument.documentElement.scrollLeft-p.left,s=(l.clientY||window.event.clientY)+c.ownerDocument.documentElement.scrollTop-p.top,x=b/h,a=f-(f-w)*x,z=s-(s-v)*x,A=g*x,u=d*x,i.style.width=e(A),i.style.height=e(u),i.style.left=e(a),i.style.top=e(z),i.setAttribute("data-wheelzoom-scale-factor",D),"function"==typeof l.preventDefault&&l.preventDefault(),!1},l(c,r)},this.wheelzoom=i}).call(this);