1 line
5.3 KiB
JavaScript
1 line
5.3 KiB
JavaScript
!function(p,i){"use strict";function n(t){i.console&&i.console.error(t)}var m="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",s=(p.fn.imagesLoaded=function(s){var n=this,a=p.isFunction(p.Deferred)?p.Deferred():0,e=p.isFunction(a.notify),r=n.find("img").add(n.filter("img")),o=[],h=[],d=[];function c(){var t=p(h),i=p(d);a&&(d.length?a.reject(r,t,i):a.resolve(r)),p.isFunction(s)&&s.call(n,r,t,i)}function l(t){f(t.target,"error"===t.type)}function f(t,i){t.src!==m&&-1===p.inArray(t,o)&&(o.push(t),(i?d:h).push(t),p.data(t,"imagesLoaded",{isBroken:i,src:t.src}),e&&a.notifyWith(p(t),[i,r,p(h),p(d)]),r.length===o.length&&(setTimeout(c),r.unbind(".imagesLoaded",l)))}return p.isPlainObject(s)&&p.each(s,function(t,i){"callback"===t?s=i:a&&a[t](i)}),r.length?r.bind("load.imagesLoaded error.imagesLoaded",l).each(function(t,i){var s=i.src,n=p.data(i,"imagesLoaded");n&&n.src===s?f(i,n.isBroken):i.complete&&void 0!==i.naturalWidth?f(i,0===i.naturalWidth||0===i.naturalHeight):(i.readyState||i.complete)&&(i.src=m,i.src=s)}):c(),a?a.promise(n):n},i.Modernizr);p.Flipshow=function(t,i){this.$el=p(i),this._init(t)},p.Flipshow.defaults={speed:700,easing:"ease-out"},p.Flipshow.prototype={_init:function(t){this.options=p.extend(!0,{},p.Flipshow.defaults,t),this.support=s.csstransitions&&s.csstransforms3d&&!/MSIE (\d+\.\d+);/.test(navigator.userAgent);this.support&&(this.transEndEventName={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd",transition:"transitionend"}[s.prefixed("transition")]+".cbpFWSlider",this.transformName={WebkitTransform:"-webkit-transform",MozTransform:"-moz-transform",OTransform:"-o-transform",msTransform:"-ms-transform",transform:"transform"}[s.prefixed("transform")]),this.transitionProperties=this.transformName+" "+this.options.speed+"ms "+this.options.easing,this.$listItems=this.$el.children("ul.fc-slides"),this.$items=this.$listItems.children("li").hide(),this.itemsCount=this.$items.length,this.current=0,this.$listItems.imagesLoaded(p.proxy(function(){this.$items.eq(this.current).show(),0<this.itemsCount&&(this._addNav(),this.support&&this._layout())},this))},_addNav:function(){var t=this,i=p('<div class="fc-left"><span></span><span></span><span></span><i class="fa fa-arrow-left"></i></div>'),s=p('<div class="fc-right"><span></span><span></span><span></span><i class="fa fa-arrow-right"></i></div>');p("<nav></nav>").append(i,s).appendTo(this.$el),i.find("span").on("click.flipshow touchstart.flipshow",function(){t._navigate(p(this),"left")}),s.find("span").on("click.flipshow touchstart.flipshow",function(){t._navigate(p(this),"right")})},_layout:function(t,i){this.$flipFront=p('<div class="fc-front"><div></div></div>'),this.$frontContent=this.$flipFront.children("div:first"),this.$flipBack=p('<div class="fc-back"><div></div></div>'),this.$backContent=this.$flipBack.children("div:first"),this.$flipEl=p('<div class="fc-flip"></div>').append(this.$flipFront,this.$flipBack).hide().appendTo(this.$el)},_navigate:function(t,i){if(this.isAnimating&&this.support)return!1;this.isAnimating=!0;var s=this.$items.eq(this.current).hide(),n=("right"===i?this.current<this.itemsCount-1?++this.current:this.current=0:"left"===i&&(0<this.current?--this.current:this.current=this.itemsCount-1),this.$items.eq(this.current));this.support?this._flip(s,n,i,t.index()):n.show()},_flip:function(t,i,s,n){var a="",e=p('<div class="fc-overlay-light"></div>'),r=p('<div class="fc-overlay-dark"></div>');if(void 0!==this.$flipEl){this.$flipEl.css("transition",this.transitionProperties),this.$flipFront.find("div.fc-overlay-light, div.fc-overlay-dark").remove(),this.$flipBack.find("div.fc-overlay-light, div.fc-overlay-dark").remove(),"right"===s?(this.$flipFront.append(e),this.$flipBack.append(r),r.css("opacity",1)):"left"===s&&(this.$flipFront.append(r),this.$flipBack.append(e),e.css("opacity",1));var o={transition:"opacity "+this.options.speed/1.3+"ms"};switch(e.css(o),r.css(o),n){case 0:a="left"===s?"rotate3d(-1,1,0,-179deg) rotate3d(-1,1,0,-1deg)":"rotate3d(1,1,0,180deg)";break;case 1:a="left"===s?"rotate3d(0,1,0,-179deg) rotate3d(0,1,0,-1deg)":"rotate3d(0,1,0,180deg)";break;case 2:a="left"===s?"rotate3d(1,1,0,-179deg) rotate3d(1,1,0,-1deg)":"rotate3d(-1,1,0,179deg) rotate3d(-1,1,0,1deg)"}this.$flipBack.css("transform",a),this.$frontContent.empty().html(t.html()),this.$backContent.empty().html(i.html()),this.$flipEl.show();var h=this;setTimeout(function(){h.$flipEl.css("transform",a),e.css("opacity","right"===s?1:0),r.css("opacity","right"===s?0:1),h.$flipEl.on(h.transEndEventName,function(t){"fc-overlay-light"!==t.target.className&&"fc-overlay-dark"!==t.target.className&&h._ontransitionend(i)})},25)}},_ontransitionend:function(t){t.show(),this.$flipEl.off(this.transEndEventName).css({transition:"none",transform:"none"}).hide(),this.isAnimating=!1}};p.fn.flipshow=function(i){var s;return"string"==typeof i?(s=Array.prototype.slice.call(arguments,1),this.each(function(){var t=p.data(this,"flipshow");t?p.isFunction(t[i])&&"_"!==i.charAt(0)?t[i].apply(t,s):n("no such method '"+i+"' for flipshow instance"):n("cannot call methods on flipshow prior to initialization; attempted to call method '"+i+"'")})):this.each(function(){var t=p.data(this,"flipshow");t?t._init():p.data(this,"flipshow",new p.Flipshow(i,this))}),this}}(jQuery,window); |