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._pos(s.x,s.y),e.animating=!1,e.options.onAnimationEnd&&e.options.onAnimationEnd.call(e),e._startAni();return}a=(a-i)/s.time-1,o=r.sqrt(1-a*a),f=(s.x-t)*o+t,l=(s.y-n)*o+n,e._pos(f,l),e.options.onAnimate&&e.options.onAnimate.call(e),e.animating&&(e.aniTime=O(u))},u()},_transitionTime:function(e){e+="ms",this.scroller.style[f]=e,this.hScrollbar&&(this.hScrollbarIndicator.style[f]=e),this.vScrollbar&&(this.vScrollbarIndicator.style[f]=e)},_momentum:function(e,t,n,i,s){var o=6e-4,u=r.abs(e)/t,a=u*u/(2*o),f=0,l=0;return e>0&&a>n?(l=s/(6/(a/u*o)),n+=l,u=u*n/a,a=n):e<0&&a>i&&(l=s/(6/(a/u*o)),i+=l,u=u*i/a,a=i),a*=e<0?-1:1,f=u/o,{dist:a,time:r.round(f)}},_offset:function(e){var t=-e.offsetLeft,n=-e.offsetTop;while(e=e.offsetParent)t-=e.offsetLeft,n-=e.offsetTop;return e!==this.wrapper&&(t*=this.scale,n*=this.scale),{left:t,top:n}},_snap:function(e,t){var n=this,i,s,o,u,a,f;o=n.pagesX.length-1;for(i=0,s=n.pagesX.length;i<s;i++)if(e>=n.pagesX[i]){o=i;break}o===n.currPageX&&o>0&&n.dirX<0&&o--,e=n.pagesX[o],a=r.abs(e-n.pagesX[n.currPageX]),a=a?r.abs(n.x-e)/a*500:0,n.currPageX=o,o=n.pagesY.length-1;for(i=0;i<o;i++)if(t>=n.pagesY[i]){o=i;break}return o===n.currPageY&&o>0&&n.dirY<0&&o--,t=n.pagesY[o],f=r.abs(t-n.pagesY[n.currPageY]),f=f?r.abs(n.y-t)/f*500:0,n.currPageY=o,u=r.round(r.max(a,f))||200,{x:e,y:t,time:u}},_bind:function(e,t,n){t=t||this.scroller,t[S](E+e,this,!!n)},_unbind:function(e,t,n){t=t||this.scroller,t[x](E+e,this,!!n)},destroy:function(){var t=this;t.scroller.style[u]="",t.scroller.style[a]="",t.scroller.style[f]="",t.scroller.style[l]="",t.wrapper.style.overflow="",t.hScrollbar=!1,t.vScrollbar=!1,t._scrollbar("h"),t._scrollbar("v"),t._unbind(T,e),t._unbind(N),t._unbind(C,e),t._unbind(k,e),t._unbind(L,e),t.options.hasTouch||(t._unbind("DOMMouseScroll"),t._unbind("mousewheel")),t.resizeTimer&&clearTimeout(t.resizeTimer),t.options.useTransition&&t._unbind(A),t.options.checkDOMChanges&&clearInterval(t.checkDOMTime),t.options.onDestroy&&t.options.onDestroy.call(t)},refresh:function(){var e=this,t,n,i,s,o=0,u=0;e.scale<e.options.zoomMin&&(e.scale=e.options.zoomMin),e.wrapperW=e.wrapper.clientWidth||e.wrapper.scrollWidth||1,e.wrapperH=e.wrapper.clientHeight||e.wrapper.scrollHeight||1,e.minScrollY=-e.options.topOffset||0,e.scrollerW=r.round(e.scroller.offsetWidth*e.scale),e.scrollerH=r.round((e.scroller.offsetHeight+e.minScrollY)*e.scale),e.maxScrollX=e.wrapperW-e.scrollerW,e.maxScrollY=e.wrapperH-e.scrollerH+e.minScrollY,e.dirX=0,e.dirY=0,e.options.onRefresh&&e.options.onRefresh.call(e),e.hScroll=e.options.hScroll&&e.maxScrollX<0,e.vScroll=e.options.vScroll&&(!e.options.bounceLock&&!e.hScroll||e.scrollerH>e.wrapperH),e.hScrollbar=e.hScroll&&e.options.hScrollbar,e.vScrollbar=e.vScroll&&e.options.vScrollbar&&e.scrollerH>e.wrapperH,t=e._offset(e.wrapper),e.wrapperOffsetLeft=-t.left,e.wrapperOffsetTop=-t.top;if(typeof e.options.snap=="string"){e.pagesX=[],e.pagesY=[],s=e.scroller.querySelectorAll(e.options.snap+":not(.concealed)");for(n=0,i=s.length;n<i;n++){o=e._offset(s[n]),o.left+=e.wrapperOffsetLeft,o.top+=e.wrapperOffsetTop;var a=o.left<e.maxScrollX?e.maxScrollX:o.left*e.scale,l=o.top<e.maxScrollY?e.maxScrollY:o.top*e.scale;e.pagesX.indexOf(a)==-1&&(e.pagesX[n]=a),e.pagesY.indexOf(l)==-1&&(e.pagesY[n]=l)}}else if(e.options.snap){e.pagesX=[];while(o>=e.maxScrollX)e.pagesX[u]=o,o-=e.wrapperW,u++;e.maxScrollX%e.wrapperW&&(e.pagesX[e.pagesX.length]=e.maxScrollX-e.pagesX[e.pagesX.length-1]+e.pagesX[e.pagesX.length-1]),o=0,u=0,e.pagesY=[];while(o>=e.maxScrollY)e.pagesY[u]=o,o-=e.wrapperH,u++;e.maxScrollY%e.wrapperH&&(e.pagesY[e.pagesY.length]=e.maxScrollY-e.pagesY[e.pagesY.length-1]+e.pagesY[e.pagesY.length-1])}e._scrollbar("h"),e._scrollbar("v"),e.zoomed||(e.scroller.style[f]="0",e._resetPos(400))},scrollTo:function(e,t,n,r){!e&&e!==0&&(e=0),!t&&t!==0&&(t=0);var i=this,s=e,o,u;i.stop(),s.length||(s=[{x:e,y:t,time:n,relative:r}]);for(o=0,u=s.length;o<u;o++)s[o].relative&&(s[o].x=i.x-s[o].x,s[o].y=i.y-s[o].y),i.steps.push({x:s[o].x,y:s[o].y,time:s[o].time||0});i._startAni()},scrollToElement:function(e,t){var n=this,i;e=e.nodeType?e:n.scroller.querySelector(e);if(!e)return;i=n._offset(e),i.left+=n.wrapperOffsetLeft,i.top+=n.wrapperOffsetTop,i.left=i.left>0?0:i.left<n.maxScrollX?n.maxScrollX:i.left,i.top=i.top>n.minScrollY?n.minScrollY:i.top<n.maxScrollY?n.maxScrollY:i.top,t=t===undefined?r.max(r.abs(i.left)*2,r.abs(i.top)*2):t,n.scrollTo(i.left,i.top,t)},scrollToPage:function(e,t,n){var r=this,i,s;n=n===undefined?400:n,r.options.onScrollStart&&r.options.onScrollStart.call(r),r.options.snap?(e=e==="next"?r.currPageX+1:e==="prev"?r.currPageX-1:e,t=t==="next"?r.currPageY+1:t==="prev"?r.currPageY-1:t,e=e<0?0:e>r.pagesX.length-1?r.pagesX.length-1:e,t=t<0?0:t>r.pagesY.length-1?r.pagesY.length-1:t,r.currPageX=e,r.currPageY=t,i=r.pagesX[e],s=r.pagesY[t]):(i=-r.wrapperW*e,s=-r.wrapperH*t,i<r.maxScrollX&&(i=r.maxScrollX),s<r.maxScrollY&&(s=r.maxScrollY)),r.scrollTo(i,s,n)},disable:function(){this.stop(),this._resetPos(0),this.enabled=!1,this._unbind(C,e),this._unbind(k,e),this._unbind(L,e)},enable:function(){this.enabled=!0},stop:function(){this.options.useTransition?this._unbind(A):M(this.aniTime),this.

Prev | Next
Pg.: 1 ... 22 23 24 25 26 27 28 29 30 31 32 ... 41


Back to home | File page

Subscribe | Register | Login | N