1 |
- !function(a,b){"function"==typeof define&&define.amd?define([],function(){return a.lory=b()}):"object"==typeof exports?module.exports=b():a.lory=b()}(this,function(){"use strict";var a=function(a,b){if("undefined"==typeof b&&(b=a,a=0),a>b){var c=a;a=b,b=c}return function(c){return Math.min(Math.max(c,a),b)}},b=function(a,b){var c={};return Object.keys(b).map(function(d){c[d]=a&&a.hasOwnProperty(d)?a[d]:b[d]}),c},c=function(c,d){var e,f,g,h,i,j=0,k={};"undefined"!=typeof jQuery&&c instanceof jQuery&&(c=c[0]);var l,m,n,o=c.querySelector(".js_frame"),p=o.querySelector(".js_slides"),q=c.querySelector(".js_prev"),r=c.querySelector(".js_next"),s={slidesToScroll:1,slideSpeed:300,rewindSpeed:600,snapBackSpeed:200,ease:"ease",rewind:!1,infinite:!1,beforeInit:function(){return!0},afterInit:function(){return!0},beforePrev:function(){return!0},beforeNext:function(){return!0},beforeMove:function(){return!0},beforeResize:function(){return!0}},t=function(a){var b=a.slice(0,k.infinite),c=a.slice(a.length-k.infinite,a.length);return b.forEach(function(a){var b=a.cloneNode(!0);p.appendChild(b)}),c.reverse().forEach(function(a){var b=a.cloneNode(!0);p.insertBefore(b,p.firstChild)}),p.addEventListener("webkitTransitionEnd",A),p.addEventListener("msTransitionEnd",A),p.addEventListener("oTransitionEnd",A),p.addEventListener("otransitionend",A),p.addEventListener("transitionend",A),Array.prototype.slice.call(p.children)},u=function(){k=b(d,s),k.beforeInit(),e={x:p.offsetLeft,y:p.offsetTop},h=k.infinite?t(Array.prototype.slice.call(p.children)):Array.prototype.slice.call(p.children),v(),q&&r&&(q.addEventListener("click",w),r.addEventListener("click",x)),p.addEventListener("touchstart",B),window.addEventListener("resize",E),k.afterInit()},v=function(){f=p.getBoundingClientRect().width||p.offsetWidth,g=o.getBoundingClientRect().width||o.offsetWidth,j=0,k.infinite?(y(-1*h[j+k.infinite].offsetLeft,0,null),j+=k.infinite,e.x=-1*h[j].offsetLeft):y(0,k.rewindSpeed,k.ease)},w=function(){k.beforePrev(),z(!1,!1)},x=function(){k.beforeNext(),z(!1,!0)},y=function(a,b,c){var d=p&&p.style;d&&(d.webkitTransitionTimingFunction=d.MozTransitionTimingFunction=d.msTransitionTimingFunction=d.OTransitionTimingFunction=d.transitionTimingFunction=c,d.webkitTransitionDuration=d.MozTransitionDuration=d.msTransitionDuration=d.OTransitionDuration=d.transitionDuration=b+"ms",d.webkitTransform="translate3d("+a+"px, 0, 0)",d.msTransform=d.MozTransform=d.OTransform="translateX("+a+"px)")},z=function(b,c){var d=f-g,l=a(0,h.length-1),m=a(-1*d,0),n=k.slideSpeed;b||(b=c?j+k.slidesToScroll:j-k.slidesToScroll),b=l(b);var o=m(-1*h[b].offsetLeft);k.rewind&&Math.abs(e.x)===d&&c&&(o=0,b=0,n=k.rewindSpeed),y(o,n,k.ease),e.x=o,h[b].offsetLeft<=d&&(j=b),k.infinite&&Math.abs(o)===d&&c&&(j=k.infinite,e.x=-1*h[j].offsetLeft,i=function(){y(-1*h[j].offsetLeft,0,null)}),k.infinite&&0===Math.abs(o)&&!c&&(j=h.length-2*k.infinite,e.x=-1*h[j].offsetLeft,i=function(){y(-1*h[j].offsetLeft,0,null)})},A=function(){i&&(i(),i=void 0)},B=function(a){k.beforeMove();var b=a.touches[0];l={x:b.pageX,y:b.pageY,time:Date.now()},n=void 0,m={},p.addEventListener("touchmove",C),p.addEventListener("touchend",D)},C=function(a){var b=a.touches[0];m={x:b.pageX-l.x,y:b.pageY-l.y},"undefined"==typeof n&&(n=!!(n||Math.abs(m.x)<Math.abs(m.y))),n||y(e.x+m.x,0,null)},D=function(){var a=Date.now()-l.time,b=Number(a)<300&&Math.abs(m.x)>25||Math.abs(m.x)>g/3,c=!j&&m.x>0||j===h.length-1&&m.x<0,d=m.x<0;n||(b&&!c?z(!1,d):y(e.x,k.snapBackSpeed)),o.removeEventListener("touchmove"),o.removeEventListener("touchend")},E=function(){k.beforeResize(),v()};return u(),{setup:function(){u()},reset:function(){v()},slideTo:function(a){z(a)},prev:w,next:x}};return c});
|