/
jquery.flickgal.min.js
7 lines (7 loc) · 3.09 KB
/
jquery.flickgal.min.js
1
2
3
4
5
6
7
(function(){var e,g,i,m,n,p,t,B,F,G,H,I,S,T,U;U=navigator.userAgent.toLowerCase();G=0<=U.indexOf("webkit")?0:0<=U.indexOf("gecko")?1:0<=U.indexOf("msie")?2:0<=U.indexOf("opera")?3:4;S=0<=U.indexOf("iphone")||0<=U.indexOf("ipad");I=0<=U.indexOf("android");T=S||I;switch(G){case 0:p="-webkit-";break;case 1:p="-moz-";break;case 2:p="-ms-";break;case 3:p="-o-";break;case 4:p=""}t=p+"transform";B=0===G?"translate3d(":"translate(";F=0===G?"px,0,0)":"px,0)";e=T?"touchstart":"mousedown";g=T?"touchend":"mouseup";
i=T?"touchmove":"mousemove";m=0===G?"webkitTransitionEnd":3===G?"oTransitionEnd":"transitionend";n="orientationchange";I&&(n=""+n+" resize");H=function(f){return[B,f,F].join("")};
window.jQuery.fn.flickGal=function(f){f=$.extend({infinitCarousel:!1,lockScroll:!0,startIndex:0},f);return this.each(function(){var d,u,h,j,q,v,C,w,x,J,y,V,k,z,b,K,L,W,D,l,r,s,X,Y,M,A,N,E,c,O,P,Q;h=$(this);u=$(".container",h).css({overflow:"hidden"});d=$(".containerInner",u).css({position:"relative",overflow:"hidden",top:0,left:0});j=$(".item",d).css({"float":"left"});l=j.length;r=j.outerWidth(!0);y=r*l;j=j.outerHeight(!0);b=$.isNumeric(f.startIndex)?f.startIndex:0;k=z=0;W=function(a){var b;try{if(b=
window.parseInt(/(,.+?){3} (.+?)px/.exec(a.css(t))[2]),!window.isNaN(b))return b+z}catch(c){}return 0};D=function(){return 1!==G?d.offset().left:W(d)};M=function(){z=u.offset().left;k=(u.innerWidth()-r)/2;return s(b)};q=$(".nav",h);v=q.find("a[href^=#]");C=v.parent();Q=!(!q.length||!v.length||!C.length);x=$(".prev",h);w=$(".next",h);if(P=!(!x.length||!w.length))Y=function(){b=0<b?b-1:f.infinitCarousel?l-1:b;return s(b)},X=function(){b=b<l-1?b+1:f.infinitCarousel?0:b;return s(b)},K=function(){x.add(w).removeClass("off");
if(0===b)return x.addClass("off");if(b===l-1)return w.addClass("off")};c=A=N=L=E=0;O=function(a){var R;R=T?a.touches[0]:a;switch(a.type){case i:f.lockScroll&&a.preventDefault();if(c&1){a=R.pageX-E;if(c&2&&(c&4&&0<a||c&8&&0>a))a/=2;return d.css(t,H(k+A+a))}break;case e:T||a.preventDefault();c|=1;0===b&&(c|=4);b===l-1&&(c|=8);if(c&4||c&8)c|=2;N=(new Date).getTime();E=T?R.pageX:a.clientX;A=D()-z-k;h.trigger("fg_flickstart",[b]);if(d.hasClass("moving"))return d.removeClass("moving").css(t,H(k+A));break;
case g:return c=A=0,L=T?a.changedTouches[0].pageX:a.clientX,a=V(),h.trigger("fg_flickend",[a]),s(a)}};q=function(){return d.removeClass("moving")};V=function(){var a,c,d;d=(new Date).getTime()-N;a=L-E;c=b;300>d&&30<Math.abs(a)?0<a?c--:c++:(a=D()-z,a=Math.abs(0+a-k-r/2),c=Math.floor(a/r));return Math.max(0,Math.min(c,l-1))};s=function(a){d.addClass("moving");b!==a&&h.trigger("fg_change",[a]);b=a;d.css(t,H(k+-1*r*b));Q&&C.removeClass("selected").eq(b).addClass("selected");if(P)return K()};u.height(j).scroll(function(){return $(this).scrollLeft(0)});
d.height(j).width(y).css(t,H(D()));$(window).bind(T?n:"resize",M);M();Q&&(C.eq(0).addClass("selected"),v.bind(e,function(){var a;a=v.index(this);s(a);return!1}).bind("click",function(){return!1}));P&&(x.bind(e,Y),w.bind(e,X),K());y=[i,e,g];return T?(J=d[0],$.each(y,function(a,b){return J.addEventListener(b,O,!1)}),J.addEventListener(m,q,!1)):d.bind(y.join(" "),O).bind(m,q)})};})()