call(n,t),(n.options.useTransition||n.options.zoom)&&n._transitionTime(0),n.moved=!1,n.animating=!1,n.zoomed=!1,n.distX=0,n.distY=0,n.absDistX=0,n.absDistY=0,n.dirX=0,n.dirY=0,n.options.zoom&&g&&t.touches.length>1&&(f=r.abs(t.touches[0].pageX-t.touches[1].pageX),l=r.abs(t.touches[0].pageY-t.touches[1].pageY),n.touchesDistStart=r.sqrt(f*f+l*l),n.originX=r.abs(t.touches[0].pageX+t.touches[1].pageX-n.wrapperOffsetLeft*2)/2-n.x,n.originY=r.abs(t.touches[0].pageY+t.touches[1].pageY-n.wrapperOffsetTop*2)/2-n.y,n.options.onZoomStart&&n.options.onZoomStart.call(n,t));if(n.options.momentum){n.options.useTransform?(s=getComputedStyle(n.scroller,null)[u].replace(/[^0-9\-.,]/g,"").split(","),o=+(s[12]||s[4]),a=+(s[13]||s[5])):(o=+getComputedStyle(n.scroller,null).left.replace(/[^0-9\-]/g,""),a=+getComputedStyle(n.scroller,null).top.replace(/[^0-9\-]/g,""));if(o!==n.x||a!==n.y)n.options.useTransition?n._unbind(A):M(n.aniTime),n.steps=[],n._pos(o,a),n.options.onScrollEnd&&n.options.onScrollEnd.call(n)}n.absStartX=n.x,n.absStartY=n.y,n.startX=n.x,n.startY=n.y,n.pointX=i.pageX,n.pointY=i.pageY,n.startTime=t.timeStamp||Date.now(),n.options.onScrollStart&&n.options.onScrollStart.call(n,t),n._bind(C,e),n._bind(k,e),n._bind(L,e)},_move:function(e){var t=this,n=g?e.touches[0]:e,i=n.pageX-t.pointX,s=n.pageY-t.pointY,o=t.x+i,a=t.y+s,f,l,c,h=e.timeStamp||Date.now();t.options.onBeforeScrollMove&&t.options.onBeforeScrollMove.call(t,e);if(t.options.zoom&&g&&e.touches.length>1){f=r.abs(e.touches[0].pageX-e.touches[1].pageX),l=r.abs(e.touches[0].pageY-e.touches[1].pageY),t.touchesDist=r.sqrt(f*f+l*l),t.zoomed=!0,c=1/t.touchesDistStart*t.touchesDist*this.scale,c<t.options.zoomMin?c=.5*t.options.zoomMin*Math.pow(2,c/t.options.zoomMin):c>t.options.zoomMax&&(c=2*t.options.zoomMax*Math.pow(.5,t.options.zoomMax/c)),t.lastScale=c/this.scale,o=this.originX-this.originX*t.lastScale+this.x,a=this.originY-this.originY*t.lastScale+this.y,this.scroller.style[u]="translate("+o+"px,"+a+"px) scale("+c+")"+_,t.options.onZoom&&t.options.onZoom.call(t,e);return}t.pointX=n.pageX,t.pointY=n.pageY;if(o>0||o<t.maxScrollX)o=t.options.bounce?t.x+i/2:o>=0||t.maxScrollX>=0?0:t.maxScrollX;if(a>t.minScrollY||a<t.maxScrollY)a=t.options.bounce?t.y+s/2:a>=t.minScrollY||t.maxScrollY>=0?t.minScrollY:t.maxScrollY;t.distX+=i,t.distY+=s,t.absDistX=r.abs(t.distX),t.absDistY=r.abs(t.distY);if(t.absDistX<6&&t.absDistY<6)return;t.options.lockDirection&&(t.absDistX>t.absDistY+5?(a=t.y,s=0):t.absDistY>t.absDistX+5&&(o=t.x,i=0)),t.moved=!0,t._pos(o,a),t.dirX=i>0?-1:i<0?1:0,t.dirY=s>0?-1:s<0?1:0,h-t.startTime>300&&(t.startTime=h,t.startX=t.x,t.startY=t.y),t.options.onScrollMove&&t.options.onScrollMove.call(t,e)},_end:function(n){if(g&&n.touches.length!==0)return;var i=this,s=g?n.changedTouches[0]:n,o,a,l={dist:0,time:0},c={dist:0,time:0},h=(n.timeStamp||Date.now())-i.startTime,p=i.x,d=i.y,v,m,y,b,w;i._unbind(C,e),i._unbind(k,e),i._unbind(L,e),i.options.onBeforeScrollEnd&&i.options.onBeforeScrollEnd.call(i,n);if(i.zoomed){w=i.scale*i.lastScale,w=Math.max(i.options.zoomMin,w),w=Math.min(i.options.zoomMax,w),i.lastScale=w/i.scale,i.scale=w,i.x=i.originX-i.originX*i.lastScale+i.x,i.y=i.originY-i.originY*i.lastScale+i.y,i.scroller.style[f]="200ms",i.scroller.style[u]="translate("+i.x+"px,"+i.y+"px) scale("+i.scale+")"+_,i.zoomed=!1,i.refresh(),i.options.onZoomEnd&&i.options.onZoomEnd.call(i,n);return}if(!i.moved){g&&(i.doubleTapTimer&&i.options.zoom?(clearTimeout(i.doubleTapTimer),i.doubleTapTimer=null,i.options.onZoomStart&&i.options.onZoomStart.call(i,n),i.zoom(i.pointX,i.pointY,i.scale===1?i.options.doubleTapZoom:1),i.options.onZoomEnd&&setTimeout(function(){i.options.onZoomEnd.call(i,n)},200)):this.options.handleClick&&(i.doubleTapTimer=setTimeout(function(){i.doubleTapTimer=null,o=s.target;while(o.nodeType!==1)o=o.parentNode;o.tagName!=="SELECT"&&o.tagName!=="INPUT"&&o.tagName!=="TEXTAREA"&&(a=t.createEvent("MouseEvents"),a.initMouseEvent("click",!0,!0,n.view,1,s.screenX,s.screenY,s.clientX,s.clientY,n.ctrlKey,n.altKey,n.shiftKey,n.metaKey,0,null),a._fake=!0,o.dispatchEvent(a))},i.options.zoom?250:0))),i._resetPos(400),i.options.onTouchEnd&&i.options.onTouchEnd.call(i,n);return}if(h<300&&i.options.momentum){l=p?i._momentum(p-i.startX,h,-i.x,i.scrollerW-i.wrapperW+i.x,i.options.bounce?i.wrapperW:0):l,c=d?i._momentum(d-i.startY,h,-i.y,i.maxScrollY<0?i.scrollerH-i.wrapperH+i.y-i.minScrollY:0,i.options.bounce?i.wrapperH:0):c,p=i.x+l.dist,d=i.y+c.dist;if(i.x>0&&p>0||i.x<i.maxScrollX&&p<i.maxScrollX)l={dist:0,time:0};if(i.y>i.minScrollY&&d>i.minScrollY||i.y<i.maxScrollY&&d<i.maxScrollY)c={dist:0,time:0}}if(l.dist||c.dist){y=r.max(r.max(l.time,c.time),10),i.options.snap&&(v=p-i.absStartX,m=d-i.absStartY,r.abs(v)<i.options.snapThreshold&&r.abs(m)<i.options.snapThreshold?i.scrollTo(i.absStartX,i.absStartY,200):(b=i._snap(p,d),p=b.x,d=b.y,y=r.max(b.time,y))),i.scrollTo(r.round(p),r.round(d),y),i.options.onTouchEnd&&i.options.onTouchEnd.call(i,n);return}if(i.options.snap){v=p-i.absStartX,m=d-i.absStartY,r.abs(v)<i.options.snapThreshold&&r.abs(m)<i.options.snapThreshold?i.scrollTo(i.absStartX,i.absStartY,200):(b=i._snap(i.x,i.y),(b.x!==i.x||b.y!==i.y)&&i.scrollTo(b.x,b.y,b.time)),i.options.onTouchEnd&&i.options.onTouchEnd.call(i,n);return}i._resetPos(200),i.options.onTouchEnd&&i.options.onTouchEnd.call(i,n)},_resetPos:function(e){var t=this,n=t.x>=0?0:t.x<t.maxScrollX?t.maxScrollX:t.x,r=t.y>=t.minScrollY||t.maxScrollY>0?t.minScrollY:t.y<t.maxScrollY?t.maxScrollY:t.y;if(n===t.x&&r===t.y){t.moved&&(t.moved=!1,t.options.onScrollEnd&&t.options.onScrollEnd.call(t)),t.hScrollbar&&t.options.hideScrollbar&&(s==="webkit"&&(t.hScrollbarWrapper.style[h]="300ms"),t.hScrollbarWrapper.style.opacity="0"),t.vScrollbar&&t.options.hideScrollbar&&(s==="webkit"&&(t.vScrollbarWrapper.style[h]="300ms"),t.vScrollbarWrapper.style.opacity="0");return}t.scrollTo(n,r,e||0)},_wheel:function(e){var t=this,n,r,i,s,o;if("wheelDeltaX"in e)n=e.wheelDeltaX/12,r=e.wheelDeltaY/12;else if("wheelDelta"in e)n=r=e.wheelDelta/12;else{if(!("detail"in e))return;n=r=-e.detail*3}if(t.options.wheelAction==="zoom"){o=t.scale*Math.pow(2,1/3*(r?r/Math.abs(r):0)),o<t.
Back to home |
File page
Subscribe |
Register |
Login
| N