forked from nolimits4web/swiper
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathidangerous.swiper-1.7.min.js
13 lines (13 loc) · 14.9 KB
/
idangerous.swiper-1.7.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
/*
* Swiper 1.7 - Mobile Touch Slider
* http://www.idangero.us/sliders/swiper/
*
* Copyright 2012, Vladimir Kharlampidi
* The iDangero.us
* http://www.idangero.us/
*
* Licensed under GPL & MIT
*
* Updated on: December 19, 2012
*/
Swiper=function(d,b){function g(a){return document.querySelectorAll(a)}function e(){var a=u-l*b.slidesPerSlide;b.loop&&(a-=p);b.scrollContainer&&(a=l-p,0>a&&(a=0));return a}function v(b){a.allowLinks||b.preventDefault()}function q(c){if(a.isTouched||b.onlyExternal)return!1;a.isTouched=!0;if(!a.support.touch||1==c.targetTouches.length){a.callPlugins("onTouchStartBegin");b.loop&&a.fixLoop();a.support.touch||(c.preventDefault?c.preventDefault():c.returnValue=!1);var h=a.support.touch?c.targetTouches[0].pageY:c.pageY||c.clientY;a.touches.startX=a.touches.currentX=a.support.touch?c.targetTouches[0].pageX:c.pageX||c.clientX;a.touches.startY=a.touches.currentY=h;a.touches.start=a.touches.current=f?a.touches.startX:a.touches.startY;a.setTransition(0);a.positions.start=a.positions.current=f?a.getTranslate("x"):a.getTranslate("y");f?a.setTransform(a.positions.start,0,0):a.setTransform(0,a.positions.start,0);a.times.start=(new Date).getTime();r=void 0;if(b.onTouchStart)b.onTouchStart(a);a.callPlugins("onTouchStartEnd")}}function A(c){if(a.isTouched&&!b.onlyExternal){var h=a.support.touch?c.targetTouches[0].pageX:c.pageX||c.clientX,d=a.support.touch?c.targetTouches[0].pageY:c.pageY||c.clientY;"undefined"==typeof r&&f&&(r=!!(r||Math.abs(d-a.touches.startY)>Math.abs(h-a.touches.startX)));"undefined"==typeof r&&!f&&(r=!!(r||Math.abs(d-a.touches.startY)<Math.abs(h-a.touches.startX)));if(!r)if(c.assignedToSwiper)a.isTouched=!1;else if(c.assignedToSwiper=!0,b.preventLinks&&(a.allowLinks=!1),b.autoPlay&&a.stopAutoPlay(),!a.support.touch||1==c.touches.length){a.callPlugins("onTouchMoveStart");c.preventDefault?c.preventDefault():c.returnValue=!1;a.touches.current=f?h:d;a.positions.current=(a.touches.current-a.touches.start)*b.ratio+a.positions.start;if(b.resistance){if(0<a.positions.current&&(!b.freeMode||b.freeModeFluid))b.loop?(c=1,0<a.positions.current&&(a.positions.current=0)):c=(2*p-a.positions.current)/p/2,a.positions.current=0.5>c?p/2:a.positions.current*c;if(a.positions.current<-e()&&(!b.freeMode||b.freeModeFluid))b.loop?(c=1,h=a.positions.current,d=-e()-p):(h=(a.touches.current-a.touches.start)*b.ratio+(e()+a.positions.start),c=(p+h)/p,h=a.positions.current-h*(1-c)/2,d=-e()-p/2),a.positions.current=h<d||0>=c?d:h}if(b.followFinger){f?a.setTransform(a.positions.current,0,0):a.setTransform(0,a.positions.current,0);b.freeMode&&a.updateActiveSlide(a.positions.current);if(b.onTouchMove)b.onTouchMove(a);a.callPlugins("onTouchMoveEnd");return!1}}}}function B(){if(!b.onlyExternal&&a.isTouched){a.isTouched=!1;b.preventLinks&&setTimeout(function(){a.allowLinks=!0},10);!a.positions.current&&0!==a.positions.current&&(a.positions.current=a.positions.start);f?a.setTransform(a.positions.current,0,0):a.setTransform(0,a.positions.current,0);a.times.end=(new Date).getTime();a.touches.diff=a.touches.current-a.touches.start;a.touches.abs=Math.abs(a.touches.diff);a.positions.diff=a.positions.current-a.positions.start;a.positions.abs=Math.abs(a.positions.diff);var c=a.positions.diff,h=a.positions.abs;5>h&&a.swipeReset();var d=u-l*b.slidesPerSlide;b.scrollContainer&&(d=l-p);0<a.positions.current?a.swipeReset():a.positions.current<-d?a.swipeReset():b.freeMode?(300>a.times.end-a.times.start&&b.freeModeFluid&&(c=a.positions.current+2*a.touches.diff,c<-1*d&&(c=-d),0<c&&(c=0),f?a.setTransform(c,0,0):a.setTransform(0,c,0),a.setTransition(2*(a.times.end-a.times.start)),a.updateActiveSlide(c)),(!b.freeModeFluid||300<=a.times.end-a.times.start)&&a.updateActiveSlide(a.positions.current)):(t=0>c?"toNext":"toPrev","toNext"==t&&300>=a.times.end-a.times.start&&(30>h?a.swipeReset():a.swipeNext(!0)),"toPrev"==t&&300>=a.times.end-a.times.start&&(30>h?a.swipeReset():a.swipePrev(!0)),"toNext"==t&&300<a.times.end-a.times.start&&(h>=0.5*l?a.swipeNext(!0):a.swipeReset()),"toPrev"==t&&300<a.times.end-a.times.start&&(h>=0.5*l?a.swipePrev(!0):a.swipeReset()));if(b.onTouchEnd)b.onTouchEnd(a);a.callPlugins("onTouchEnd")}}function z(){a.callPlugins("onSlideChangeStart");if(b.onSlideChangeStart)b.onSlideChangeStart(a);b.onSlideChangeEnd&&a.transitionEnd(b.onSlideChangeEnd)}window.addEventListener||(window.Element||(Element=function(){}),Element.prototype.addEventListener=HTMLDocument.prototype.addEventListener=addEventListener=function(a,b){this.attachEvent("on"+a,b)},Element.prototype.removeEventListener=HTMLDocument.prototype.removeEventListener=removeEventListener=function(a,b){this.detachEvent("on"+a,b)});if(document.body.__defineGetter__&&HTMLElement){var m=HTMLElement.prototype;m.__defineGetter__&&m.__defineGetter__("outerHTML",function(){return(new XMLSerializer).serializeToString(this)})}window.getComputedStyle||(window.getComputedStyle=function(a){this.el=a;this.getPropertyValue=function(b){var d=/(\-([a-z]){1})/g;"float"==b&&(b="styleFloat");d.test(b)&&(b=b.replace(d,function(a,b,c){return c.toUpperCase()}));return a.currentStyle[b]?a.currentStyle[b]:null};return this});if(document.querySelectorAll&&0!=document.querySelectorAll(d).length){var a=this;a.touches={};a.positions={current:0};a.id=(new Date).getTime();a.container=g(d)[0];a.times={};a.isTouched=!1;a.realIndex=0;a.activeSlide=0;a.previousSlide=null;a.support={touch:a.isSupportTouch(),threeD:a.isSupport3D()};a.use3D=a.support.threeD;m={mode:"horizontal",ratio:1,speed:300,freeMode:!1,freeModeFluid:!1,slidesPerSlide:1,simulateTouch:!0,followFinger:!0,autoPlay:!1,onlyExternal:!1,createPagination:!0,pagination:!1,resistance:!0,scrollContainer:!1,preventLinks:!0,slideClass:"swiper-slide",wrapperClass:"swiper-wrapper",paginationClass:"swiper-pagination-switch",paginationActiveClass:"swiper-active-switch"};b=b||{};for(var j in m)j in b||(b[j]=m[j]);a.params=b;b.scrollContainer&&(b.freeMode=!0,b.freeModeFluid=!0);var s=g(d+" ."+b.wrapperClass).item(0),f,l,k,u,t,r,p;a.wrapper=s;f="horizontal"==b.mode;a.touchEvents={touchStart:a.support.touch||!b.simulateTouch?"touchstart":a.ie10?"MSPointerDown":"mousedown",touchMove:a.support.touch||!b.simulateTouch?"touchmove":a.ie10?"MSPointerMove":"mousemove",touchEnd:a.support.touch||!b.simulateTouch?"touchend":a.ie10?"MSPointerUp":"mouseup"};var w=[],n;for(n in a.plugins)b[n]&&(j=a.plugins[n](a,b[n]))&&w.push(j);a.callPlugins=function(a,b){b||(b={});for(var d=0;d<w.length;d++)if(a in w[d])w[d][a](b)};a.ie10&&!b.onlyExternal&&(f?a.wrapper.classList.add("swiper-wp8-horizontal"):a.wrapper.classList.add("swiper-wp8-vertical"));if(b.loop){k=g(d+" > ."+b.wrapperClass+" > ."+b.slideClass).length;j=n="";for(m=0;m<b.slidesPerSlide;m++)n+=g(d+" > ."+b.wrapperClass+" > ."+b.slideClass).item(m).outerHTML;for(m=k-b.slidesPerSlide;m<k;m++)j+=g(d+" > ."+b.wrapperClass+" > ."+b.slideClass).item(m).outerHTML;s.innerHTML=j+s.innerHTML+n;a.callPlugins("onCreateLoop")}var C=!1;a.init=function(){var c=parseInt(window.getComputedStyle(a.container,null).getPropertyValue("width"),10),h=parseInt(window.getComputedStyle(a.container,null).getPropertyValue("height"),10);isNaN(c)&&(c=a.container.offsetWidth-parseInt(window.getComputedStyle(a.container,null).getPropertyValue("padding-left"),10)-parseInt(window.getComputedStyle(a.container,null).getPropertyValue("padding-right"),10));isNaN(h)&&(h=a.container.offsetHeight-parseInt(window.getComputedStyle(a.container,null).getPropertyValue("padding-top"),10)-parseInt(window.getComputedStyle(a.container,null).getPropertyValue("padding-bottom"),10));if(!(a.width==c&&a.height==h)){a.width=c;a.height=h;var e=f?1:b.slidesPerSlide,j=f?b.slidesPerSlide:1;k=g(d+" > ."+b.wrapperClass+" > ."+b.slideClass).length;b.scrollContainer?(c=g(d+" ."+b.slideClass).item(0).offsetWidth,h=g(d+" ."+b.slideClass).item(0).offsetHeight,p=f?a.width:a.height,l=f?c:h,j=c,e=h):(c=a.width/j,h=a.height/e,l=p=f?a.width:a.height,j=f?k*a.width/j:a.width,e=f?a.height:k*a.height/e);u=f?j:e;for(var m=0;m<k;m++){var n=g(d+" > ."+b.wrapperClass+" > ."+b.slideClass).item(m);n.style.width=c+"px";n.style.height=h+"px";if(b.onSlideInitialize)b.onSlideInitialize(a,n)}s.style.width=j+"px";s.style.height=e+"px";b.slidesPerSlide&&1<b.slidesPerSlide&&(l/=b.slidesPerSlide);C?a.callPlugins("onInit"):a.callPlugins("onFirstInit",23,45);C=!0}};a.init();if(b.pagination&&b.createPagination){j="";m=b.loop?k-2*b.slidesPerSlide:k;for(n=0;n<m;n++)j+='<span class="'+b.paginationClass+'"></span>';g(b.pagination)[0].innerHTML=j;setTimeout(function(){a.updatePagination()},0);a.callPlugins("onCreatePagination")}a.resizeEvent="resize";"onorientationchange"in window&&(a.resizeEvent="orientationchange");a.resizeFix=function(){a.callPlugins("beforeResizeFix");a.init();if(b.scrollContainer){if((f?a.getTranslate("x"):a.getTranslate("y"))<-e()){var c=f?-e():0,d=f?0:-e();a.setTransition(0);a.setTransform(c,d,0)}}else a.swipeTo(a.activeSlide,0,!1);a.callPlugins("afterResizeFix")};b.disableAutoResize||window.addEventListener(a.resizeEvent,a.resizeFix,!1);var x;a.startAutoPlay=function(){b.autoPlay&&!b.loop?x=setInterval(function(){var b=a.realIndex+1;b==k&&(b=0);a.swipeTo(b)},b.autoPlay):b.autoPlay&&b.loop&&(x=setInterval(function(){a.swipeNext()},b.autoPlay));a.callPlugins("onAutoPlayStart")};a.stopAutoPlay=function(){x&&clearInterval(x);a.callPlugins("onAutoPlayStop")};b.autoPlay&&a.startAutoPlay();s.addEventListener(a.touchEvents.touchStart,q,!1);var y=a.support.touch?s:document;y.addEventListener(a.touchEvents.touchMove,A,!1);y.addEventListener(a.touchEvents.touchEnd,B,!1);a.destroy=function(b){(!1===b?b:1)&&window.removeEventListener(a.resizeEvent,a.resizeFix,!1);s.removeEventListener(a.touchEvents.touchStart,q,!0);y.removeEventListener(a.touchEvents.touchMove,A,!0);y.removeEventListener(a.touchEvents.touchEnd,B,!0);a.callPlugins("onDestroy")};a.allowLinks=!0;if(b.preventLinks){j=a.container.querySelectorAll("a");for(n=0;n<j.length;n++)j[n].addEventListener("click",v,!1)}a.swipeNext=function(c){!c&&b.loop&&a.fixLoop();a.callPlugins("onSwipeNext");c=f?a.getTranslate("x"):a.getTranslate("y");c=Math.floor(Math.abs(c)/Math.floor(l))*l+l;if(c!=u&&(!(c>e())||b.loop))return b.loop&&c>=e()+p&&(c=e()+p),f?a.setTransform(-c,0,0):a.setTransform(0,-c,0),a.setTransition(b.speed),a.updateActiveSlide(-c),z(),!0};a.swipePrev=function(c){!c&&b.loop&&a.fixLoop();a.callPlugins("onSwipePrev");c=f?a.getTranslate("x"):a.getTranslate("y");c=(Math.ceil(-c/l)-1)*l;0>c&&(c=0);f?a.setTransform(-c,0,0):a.setTransform(0,-c,0);a.setTransition(b.speed);a.updateActiveSlide(-c);z();return!0};a.swipeReset=function(){a.callPlugins("onSwipeReset");var c=f?a.getTranslate("x"):a.getTranslate("y"),d=0>c?Math.round(c/l)*l:0,g=-e();b.scrollContainer&&(d=0>c?c:0,g=p-l);d<=g&&(d=g);b.scrollContainer&&p>l&&(d=0);"horizontal"==b.mode?a.setTransform(d,0,0):a.setTransform(0,d,0);a.setTransition(b.speed);a.updateActiveSlide(d);if(b.onSlideReset)b.onSlideReset(a);return!0};a.swipeTo=function(c,d,e){c=parseInt(c,10);a.callPlugins("onSwipeTo",{index:c,speed:d});if(!(c>k-1)&&(!(0>c)||b.loop))return e=!1===e?!1:e||!0,d=0===d?d:d||b.speed,b.loop&&(c+=b.slidesPerSlide),c>k-b.slidesPerSlide&&(c=k-b.slidesPerSlide),c=-c*l,f?a.setTransform(c,0,0):a.setTransform(0,c,0),a.setTransition(d),a.updateActiveSlide(c),e&&z(),!0};a.updateActiveSlide=function(c){a.previousSlide=a.realIndex;a.realIndex=Math.round(-c/l);b.loop?(a.activeSlide=a.realIndex-b.slidesPerSlide,a.activeSlide>=k-2*b.slidesPerSlide&&(a.activeSlide=k-2*b.slidesPerSlide-a.activeSlide),0>a.activeSlide&&(a.activeSlide=k-2*b.slidesPerSlide+a.activeSlide)):a.activeSlide=a.realIndex;a.realIndex==k&&(a.realIndex=k-1);0>a.realIndex&&(a.realIndex=0);b.pagination&&a.updatePagination()};a.updatePagination=function(){var c=g(b.pagination+" ."+b.paginationActiveClass);if(c){for(var d=0;d<c.length;d++)0<=c.item(d).className.indexOf("active")&&(c.item(d).className=c.item(d).className.replace(b.paginationActiveClass,""));for(var c=g(b.pagination+" ."+b.paginationClass).length,d=b.loop?a.realIndex-b.slidesPerSlide:a.realIndex,e=d+(b.slidesPerSlide-1);d<=e;d++){var f=d;f>=c&&(f-=c);0>f&&(f=c+f);f<k&&(g(b.pagination+" ."+b.paginationClass).item(f).className=g(b.pagination+" ."+b.paginationClass).item(f).className+" "+b.paginationActiveClass)}}};a.fixLoop=function(){if(a.realIndex<b.slidesPerSlide){var c=k-3*b.slidesPerSlide+a.realIndex;a.swipeTo(c,0)}a.realIndex>k-2*b.slidesPerSlide&&(c=-k+a.realIndex+b.slidesPerSlide,a.swipeTo(c,0))};b.loop&&a.swipeTo(0,0,!1)}};Swiper.prototype={plugins:{},transitionEnd:function(d){var b=this,g=b.wrapper,e=["webkitTransitionEnd","transitionend","oTransitionEnd","MSTransitionEnd","msTransitionEnd"];if(d)for(var v=function(){d(b);for(var q=0;q<e.length;q++)g.removeEventListener(e[q],v,!1)},q=0;q<e.length;q++)g.addEventListener(e[q],v,!1)},isSupportTouch:function(){return"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch},isSupport3D:function(){var d=document.createElement("div");d.id="test3d";var b=!1;"webkitPerspective"in d.style&&(b=!0);"MozPerspective"in d.style&&(b=!0);"OPerspective"in d.style&&(b=!0);"MsPerspective"in d.style&&(b=!0);"perspective"in d.style&&(b=!0);if(b&&"webkitPerspective"in d.style){var g=document.createElement("style");g.textContent="@media (-webkit-transform-3d), (transform-3d), (-moz-transform-3d), (-o-transform-3d), (-ms-transform-3d) {#test3d{height:5px}}";document.getElementsByTagName("head")[0].appendChild(g);document.body.appendChild(d);b=5===d.offsetHeight;g.parentNode.removeChild(g);d.parentNode.removeChild(d)}return b},getTranslate:function(d){var b=this.wrapper,g,b=(window.WebKitCSSMatrix?new WebKitCSSMatrix(window.getComputedStyle(b,null).webkitTransform):window.getComputedStyle(b,null).MozTransform||window.getComputedStyle(b,null).OTransform||window.getComputedStyle(b,null).MsTransform||window.getComputedStyle(b,null).msTransform||window.getComputedStyle(b,null).transform||window.getComputedStyle(b,null).getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(",");"x"==d&&(g=16==b.length?parseInt(b[12],10):parseInt(b[4],10));"y"==d&&(g=16==b.length?parseInt(b[13],10):parseInt(b[5],10));return g},setTransform:function(d,b,g){var e=this.wrapper.style;d=d||0;b=b||0;g=g||0;this.support.threeD?e.webkitTransform=e.MsTransform=e.msTransform=e.MozTransform=e.OTransform=e.transform="translate3d("+d+"px, "+b+"px, "+g+"px)":(e.webkitTransform=e.MsTransform=e.msTransform=e.MozTransform=e.OTransform=e.transform="translate("+d+"px, "+b+"px)",this.ie8&&(e.left=d+"px",e.top=b+"px"));this.callPlugins("onSetTransform",{x:d,y:b,z:g})},setTransition:function(d){var b=this.wrapper.style;b.webkitTransitionDuration=b.MsTransitionDuration=b.msTransitionDuration=b.MozTransitionDuration=b.OTransitionDuration=b.transitionDuration=d/1E3+"s";this.callPlugins("onSetTransition",{duration:d})},ie8:function(){var d=-1;"Microsoft Internet Explorer"==navigator.appName&&null!=/MSIE ([0-9]{1,}[.0-9]{0,})/.exec(navigator.userAgent)&&(d=parseFloat(RegExp.$1));return-1!=d&&9>d}(),ie10:window.navigator.msPointerEnabled};if(window.jQuery||window.Zepto)(function(d){d.fn.swiper=function(b){return new Swiper(d(this).selector,b)}})(window.jQuery||window.Zepto);