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.options.zoomMin&&(o=t.options.zoomMin),o>t.options.zoomMax&&(o=t.options.zoomMax),o!==t.scale&&(!t.wheelZoomCount&&t.options.onZoomStart&&t.options.onZoomStart.call(t,e),t.wheelZoomCount++,t.zoom(e.pageX,e.pageY,o,400),setTimeout(function(){t.wheelZoomCount--,!t.wheelZoomCount&&t.options.onZoomEnd&&t.options.onZoomEnd.call(t,e)},400));return}i=t.x+n,s=t.y+r,i>0?i=0:i<t.maxScrollX&&(i=t.maxScrollX),s>t.minScrollY?s=t.minScrollY:s<t.maxScrollY&&(s=t.maxScrollY),t.maxScrollY<0&&t.scrollTo(i,s,0)},_transitionEnd:function(e){var t=this;if(e.target!==t.scroller)return;t._unbind(A),t._startAni()},_startAni:function(){var e=this,t=e.x,n=e.y,i=Date.now(),s,o,u;if(e.animating)return;if(!e.steps.length){e._resetPos(400);return}s=e.steps.shift(),s.x===t&&s.y===n&&(s.time=0),e.animating=!0,e.moved=!0;if(e.options.useTransition){e._transitionTime(s.time),e._pos(s.x,s.y),e.animating=!1,s.time?e._bind(A):e._resetPos(0);return}u=function(){var a=Date.now(),f,l;if(a>=i+s.time){e.

Prev | Next
Pg.: 1 ... 6 7 8 9 10 11 12 13 14 15 16 ... 66


Back to home | File page

Subscribe | Register | Login | N