slippry.min.js 12 KB

1
  1. !function(s){"use strict";var t;t={slippryWrapper:'<div class="sy-box" />',slideWrapper:'<div class="sy-slides-wrap" />',slideCrop:'<div class="sy-slides-crop" />',boxClass:"sy-list",elements:"li",activeClass:"sy-active",fillerClass:"sy-filler",loadingClass:"sy-loading",adaptiveHeight:!0,start:1,loop:!0,captionsSrc:"img",captions:"overlay",captionsEl:".sy-caption",initSingle:!0,responsive:!0,preload:"visible",pager:!0,pagerClass:"sy-pager",controls:!0,controlClass:"sy-controls",prevClass:"sy-prev",prevText:"Previous",nextClass:"sy-next",nextText:"Next",hideOnEnd:!0,transition:"fade",kenZoom:120,slideMargin:0,transClass:"transition",speed:800,easing:"swing",continuous:!0,useCSS:!0,auto:!0,autoDirection:"next",autoHover:!0,autoHoverDelay:100,autoDelay:500,pause:4e3,onSliderLoad:function(){return this},onSlideBefore:function(){return this},onSlideAfter:function(){return this}},s.fn.slippry=function(i){var a,e,n,r,o,l,v,c,d,p,g,u,f,h,C,y,m,S,x,W,w,k,b,T;return e=this,0===e.length?this:e.length>1?(e.each(function(){s(this).slippry(i)}),this):(a={},a.vars={},g=function(){var s,t,i;t=document.createElement("div"),i={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",MSTransition:"msTransitionEnd",OTransition:"oTransitionEnd",transition:"transitionEnd transitionend"};for(s in i)if(void 0!==t.style[s])return i[s]},W=function(){var s=document.createElement("div"),t=["Khtml","Ms","O","Moz","Webkit"],i=t.length;return function(a){if(a in s.style)return!0;for(a=a.replace(/^[a-z]/,function(s){return s.toUpperCase()});i--;)if(t[i]+a in s.style)return!0;return!1}}(),b=function(t,i){var a,e,n,r;return a=i.split("."),e=s(t),n="",r="",s.each(a,function(s,t){t.indexOf("#")>=0?n+=t.replace(/^#/,""):r+=t+" "}),n.length&&e.attr("id",n),r.length&&e.attr("class",s.trim(r)),e},T=function(){var s,t,i,e;i={},e={},s=100-a.settings.kenZoom,e.width=a.settings.kenZoom+"%",a.vars.active.index()%2==0?(e.left=s+"%",e.top=s+"%",i.left="0%",i.top="0%"):(e.left="0%",e.top="0%",i.left=s+"%",i.top=s+"%"),t=a.settings.pause+2*a.settings.speed,a.vars.active.css(e),a.vars.active.animate(i,{duration:t,easing:a.settings.easing,queue:!1})},d=function(){a.vars.fresh?(a.vars.slippryWrapper.removeClass(a.settings.loadingClass),a.vars.fresh=!1,a.settings.auto&&e.startAuto(),a.settings.useCSS||"kenburns"!==a.settings.transition||T(),a.settings.onSliderLoad.call(void 0,a.vars.active.index())):s("."+a.settings.fillerClass,a.vars.slideWrapper).addClass("ready")},h=function(t,i){var e;e=1/(t/i)*100+"%",s("."+a.settings.fillerClass,a.vars.slideWrapper).css({paddingTop:e}),d()},r=function(t){var i,a;void 0!==s("img",t).attr("src")?s("<img />").load(function(){i=t.width(),a=t.height(),h(i,a)}).attr("src",s("img",t).attr("src")):(i=t.width(),a=t.height(),h(i,a))},n=function(){if(0===s("."+a.settings.fillerClass,a.vars.slideWrapper).length&&a.vars.slideWrapper.append(s('<div class="'+a.settings.fillerClass+'" />')),!0===a.settings.adaptiveHeight)r(s("."+a.settings.activeClass,e));else{var t,i,n;i=0,n=0,s(a.vars.slides).each(function(){s(this).height()>i&&(t=s(this),i=t.height()),(n+=1)===a.vars.count&&(void 0===t&&(t=s(s(a.vars.slides)[0])),r(t))})}},f=function(){a.settings.pager&&(s("."+a.settings.pagerClass+" li",a.vars.slippryWrapper).removeClass(a.settings.activeClass),s(s("."+a.settings.pagerClass+" li",a.vars.slippryWrapper)[a.vars.active.index()]).addClass(a.settings.activeClass))},S=function(){!a.settings.loop&&a.settings.hideOnEnd&&(s("."+a.settings.prevClass,a.vars.slippryWrapper)[a.vars.first?"hide":"show"](),s("."+a.settings.nextClass,a.vars.slippryWrapper)[a.vars.last?"hide":"show"]())},l=function(){var t,i;!1!==a.settings.captions&&(t="img"!==a.settings.captionsSrc?a.vars.active.attr("title"):s("img",a.vars.active).attr(void 0!==s("img",a.vars.active).attr("title")?"title":"alt"),i="custom"!==a.settings.captions?s(a.settings.captionsEl,a.vars.slippryWrapper):s(a.settings.captionsEl),void 0!==t&&""!==t?i.html(t).show():i.hide())},e.startAuto=function(){void 0===a.vars.timer&&void 0===a.vars.delay&&(a.vars.delay=window.setTimeout(function(){a.vars.autodelay=!1,a.vars.timer=window.setInterval(function(){a.vars.trigger="auto",m(a.settings.autoDirection)},a.settings.pause)},a.vars.autodelay?a.settings.autoHoverDelay:a.settings.autoDelay),a.settings.autoHover&&a.vars.slideWrapper.unbind("mouseenter").unbind("mouseleave").bind("mouseenter",function(){void 0!==a.vars.timer?(a.vars.hoverStop=!0,e.stopAuto()):a.vars.hoverStop=!1}).bind("mouseleave",function(){a.vars.hoverStop&&(a.vars.autodelay=!0,e.startAuto())}))},e.stopAuto=function(){window.clearInterval(a.vars.timer),a.vars.timer=void 0,window.clearTimeout(a.vars.delay),a.vars.delay=void 0},e.refresh=function(){a.vars.slides.removeClass(a.settings.activeClass),a.vars.active.addClass(a.settings.activeClass),a.settings.responsive?n():d(),S(),f(),l()},y=function(){e.refresh()},p=function(){a.vars.moving=!1,a.vars.active.removeClass(a.settings.transClass),a.vars.fresh||a.vars.old.removeClass("sy-ken"),a.vars.old.removeClass(a.settings.transClass),a.settings.onSlideAfter.call(void 0,a.vars.active,a.vars.old.index(),a.vars.active.index()),a.settings.auto&&(a.vars.hoverStop&&void 0!==a.vars.hoverStop||e.startAuto())},C=function(){var t,i,n,r,o,l,v;a.settings.onSlideBefore.call(void 0,a.vars.active,a.vars.old.index(),a.vars.active.index()),!1!==a.settings.transition?(a.vars.moving=!0,"fade"===a.settings.transition||"kenburns"===a.settings.transition?(a.vars.fresh?(a.vars.slides.css(a.settings.useCSS?{transitionDuration:a.settings.speed+"ms",opacity:0}:{opacity:0}),a.vars.active.css("opacity",1),"kenburns"===a.settings.transition&&a.settings.useCSS&&(o=a.settings.pause+2*a.settings.speed,a.vars.slides.css({animationDuration:o+"ms"}),a.vars.active.addClass("sy-ken")),p()):a.settings.useCSS?(a.vars.old.addClass(a.settings.transClass).css("opacity",0),a.vars.active.addClass(a.settings.transClass).css("opacity",1),"kenburns"===a.settings.transition&&a.vars.active.addClass("sy-ken"),s(window).off("focus").on("focus",function(){a.vars.moving&&a.vars.old.trigger(a.vars.transition)}),a.vars.old.one(a.vars.transition,function(){return p(),this})):("kenburns"===a.settings.transition&&T(),a.vars.old.addClass(a.settings.transClass).animate({opacity:0},a.settings.speed,a.settings.easing,function(){p()}),a.vars.active.addClass(a.settings.transClass).css("opacity",0).animate({opacity:1},a.settings.speed,a.settings.easing)),y()):("horizontal"===a.settings.transition||"vertical"===a.settings.transition)&&(l="horizontal"===a.settings.transition?"left":"top",t="-"+a.vars.active.index()*(100+a.settings.slideMargin)+"%",a.vars.fresh?(e.css(l,t),p()):(v={},a.settings.continuous&&(!a.vars.jump||"controls"!==a.vars.trigger&&"auto"!==a.vars.trigger||(i=!0,r=t,a.vars.first?(n=0,a.vars.active.css(l,a.vars.count*(100+a.settings.slideMargin)+"%"),t="-"+a.vars.count*(100+a.settings.slideMargin)+"%"):(n=(a.vars.count-1)*(100+a.settings.slideMargin)+"%",a.vars.active.css(l,-(100+a.settings.slideMargin)+"%"),t=100+a.settings.slideMargin+"%"))),a.vars.active.addClass(a.settings.transClass),a.settings.useCSS?(v[l]=t,v.transitionDuration=a.settings.speed+"ms",e.addClass(a.settings.transition),e.css(v),s(window).off("focus").on("focus",function(){a.vars.moving&&e.trigger(a.vars.transition)}),e.one(a.vars.transition,function(){return e.removeClass(a.settings.transition),i&&(a.vars.active.css(l,n),v[l]=r,v.transitionDuration="0ms",e.css(v)),p(),this})):(v[l]=t,e.stop().animate(v,a.settings.speed,a.settings.easing,function(){return i&&(a.vars.active.css(l,n),e.css(l,r)),p(),this}))),y())):(y(),p())},x=function(s){a.vars.first=a.vars.last=!1,"prev"===s||0===s?a.vars.first=!0:("next"===s||s===a.vars.count-1)&&(a.vars.last=!0)},m=function(t){var i;a.vars.moving||("auto"!==a.vars.trigger&&e.stopAuto(),i=a.vars.active.index(),"prev"===t?i>0?t=i-1:a.settings.loop&&(t=a.vars.count-1):"next"===t?i<a.vars.count-1?t=i+1:a.settings.loop&&(t=0):t-=1,a.vars.jump=!1,"prev"===t||"next"===t||t===i&&!a.vars.fresh||(x(t),a.vars.old=a.vars.active,a.vars.active=s(a.vars.slides[t]),(0===i&&t===a.vars.count-1||i===a.vars.count-1&&0===t)&&(a.vars.jump=!0),C()))},e.goToSlide=function(s){a.vars.trigger="external",m(s)},e.goToNextSlide=function(){a.vars.trigger="external",m("next")},e.goToPrevSlide=function(){a.vars.trigger="external",m("prev")},v=function(){if(a.settings.pager&&a.vars.count>1){var t,i,e;for(t=a.vars.slides.length,e=s('<ul class="'+a.settings.pagerClass+'" />'),i=1;t+1>i;i+=1)e.append(s("<li />").append(s('<a href="#'+i+'">'+i+"</a>")));a.vars.slippryWrapper.append(e),s("."+a.settings.pagerClass+" a",a.vars.slippryWrapper).click(function(){return a.vars.trigger="pager",m(parseInt(this.hash.split("#")[1],10)),!1}),f()}},c=function(){a.settings.controls&&a.vars.count>1&&(a.vars.slideWrapper.append(s('<ul class="'+a.settings.controlClass+'" />').append('<li class="'+a.settings.prevClass+'"><a href="#prev">'+a.settings.prevText+"</a></li>").append('<li class="'+a.settings.nextClass+'"><a href="#next">'+a.settings.nextText+"</a></li>")),s("."+a.settings.controlClass+" a",a.vars.slippryWrapper).click(function(){return a.vars.trigger="controls",m(this.hash.split("#")[1]),!1}),S())},u=function(){!1!==a.settings.captions&&("overlay"===a.settings.captions?a.vars.slideWrapper.append(s('<div class="sy-caption-wrap" />').html(b("<div />",a.settings.captionsEl))):"below"===a.settings.captions&&a.vars.slippryWrapper.append(s('<div class="sy-caption-wrap" />').html(b("<div />",a.settings.captionsEl))))},k=function(){m(a.vars.active.index()+1)},w=function(t){var i,e,n,r;return r="all"===a.settings.preload?t:a.vars.active,n=s("img, iframe",r),i=n.length,0===i?void k():(e=0,void n.each(function(){s(this).one("load error",function(){++e===i&&k()}).each(function(){this.complete&&s(this).load()})}))},e.getCurrentSlide=function(){return a.vars.active},e.getSlideCount=function(){return a.vars.count},e.destroySlider=function(){!1===a.vars.fresh&&(e.stopAuto(),a.vars.moving=!1,a.vars.slides.each(function(){void 0!==s(this).data("sy-cssBckup")?s(this).attr("style",s(this).data("sy-cssBckup")):s(this).removeAttr("style"),void 0!==s(this).data("sy-classBckup")?s(this).attr("class",s(this).data("sy-classBckup")):s(this).removeAttr("class")}),void 0!==e.data("sy-cssBckup")?e.attr("style",e.data("sy-cssBckup")):e.removeAttr("style"),void 0!==e.data("sy-classBckup")?e.attr("class",e.data("sy-classBckup")):e.removeAttr("class"),a.vars.slippryWrapper.before(e),a.vars.slippryWrapper.remove(),a.vars.fresh=void 0)},e.reloadSlider=function(){e.destroySlider(),o()},(o=function(){var n;return a.settings=s.extend({},t,i),a.vars.slides=s(a.settings.elements,e),a.vars.count=a.vars.slides.length,a.settings.useCSS&&(W("transition")||(a.settings.useCSS=!1),a.vars.transition=g()),e.data("sy-cssBckup",e.attr("style")),e.data("sy-classBackup",e.attr("class")),e.addClass(a.settings.boxClass).wrap(a.settings.slippryWrapper).wrap(a.settings.slideWrapper).wrap(a.settings.slideCrop),a.vars.slideWrapper=e.parent().parent(),a.vars.slippryWrapper=a.vars.slideWrapper.parent().addClass(a.settings.loadingClass),a.vars.fresh=!0,a.vars.slides.each(function(){s(this).addClass("sy-slide "+a.settings.transition),a.settings.useCSS&&s(this).addClass("useCSS"),"horizontal"===a.settings.transition?s(this).css("left",s(this).index()*(100+a.settings.slideMargin)+"%"):"vertical"===a.settings.transition&&s(this).css("top",s(this).index()*(100+a.settings.slideMargin)+"%")}),a.vars.count>1||a.settings.initSingle?(-1===s("."+a.settings.activeClass,e).index()?(n="random"===a.settings.start?Math.round(Math.random()*(a.vars.count-1)):a.settings.start>0&&a.settings.start<=a.vars.count?a.settings.start-1:0,a.vars.active=s(a.vars.slides[n]).addClass(a.settings.activeClass)):a.vars.active=s("."+a.settings.activeClass,e),c(),v(),u(),void w(a.vars.slides)):this})(),this)}}(jQuery);