-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathpicoSlides.min.js
2 lines (2 loc) · 9.98 KB
/
picoSlides.min.js
1
2
/*! picoSlides v1.0.1 | (c) 2014 Hector Quintero Casanova | Released under MIT License */
!function(a,b,c){"use strict";function d(a){var d,e,f,i,j,k,l,m,n,o,p={"-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none"};return(a=a||!1)?(a.className+=" containerSlide",a.style.position="relative",a.style.display="inline-block",a.style.textAlign="center",a.style.lineHeight=0,a.style.color=h.cssFgColor,a.style.background='url("'+h.loadingImg+'") center center no-repeat '+h.cssBgColor,a.style.borderRadius=h.cssRadius,void b(a).css(p)):(d=b.extend({display:"block",position:"absolute",width:h.cssButtonSize,height:h.cssButtonSize,opacity:h.cssOpacity,"background-color":h.cssBgColor,cursor:"pointer",color:"transparent","line-height":h.cssButtonSize,"font-size":.1,"text-align":"center","border-radius":h.cssButtonSize},p),e=parseInt(h.cssButtonSize,10),f=e/5,i={display:"inline-block",width:0,height:0,"border-top":f+"px solid transparent","border-bottom":f+"px solid transparent","vertical-align":"middle"},j={display:"inline-block",width:e/3,height:Math.floor(f)-Math.floor(f)%2,background:h.cssFgColor,"vertical-align":"middle"},k={display:"inline-block",width:f/3,height:.4*e,background:h.cssFgColor,"vertical-align":"middle"},n=c.createElement("img"),n.alt=h.altAttr,n.style.width="100%",n.style.height="auto",n.style.borderRadius=h.cssRadius,o=n.cloneNode(!1),n.className="firstSlide",o.style.position="absolute",o.style.top=0,o.style.left=0,o.style.visibility="hidden",o.style.opacity=0,l=c.createElement("span"),l.className="countSlide",l.style.display="none",l.style.position="absolute",l.style.bottom=0,l.style.left="25%",l.style.right="25%",l.style.backgroundColor="transparent",l.style.cursor="default",l.innerHTML="<span><span>1</span>/</span>",m=l.firstChild,m.style.display="inline-block",m.style.padding="0 "+h.cssPadding,m.style.lineHeight=h.cssLineHeight,m.style.fontSize=h.cssFontSize,m.style.fontFamily=h.cssFontFamily,m.style.fontWeight="bold",m.style.borderRadius=h.cssRadius+" "+h.cssRadius+" 0 0",m.style.opacity=h.cssOpacity,m.style.backgroundColor=h.cssBgColor,void(g={$skipF:b("<span/>",{"class":"controlSlide hideLastSlide skipFSlide",css:b.extend({},d,{right:h.cssSeparation,bottom:h.cssSeparation}),html:b("<span/>",{css:b.extend({},i,{"border-left":j.width+"px solid "+h.cssFgColor})}).add(b("<span/>",{css:k})).add(c.createTextNode("."))}),$skipB:b("<span/>",{"class":"controlSlide hideFirstSlide skipBSlide",css:b.extend({},d,{left:h.cssSeparation,bottom:h.cssSeparation}),html:b("<span/>",{css:k}).add(b("<span/>",{css:b.extend({},i,{"border-right":j.width+"px solid "+h.cssFgColor})})).add(c.createTextNode("."))}),$next:b("<span/>",{"class":"controlSlide hideLastSlide nextSlide",css:b.extend({},d,{display:"none",right:h.cssSeparation,top:"50%","margin-top":"-"+e/2+"px"}),html:b("<span/>",{css:j}).add(b("<span/>",{css:b.extend({},i,{"border-left":j.width+"px solid "+h.cssFgColor})})).add(c.createTextNode("."))}),$prev:b("<span/>",{"class":"controlSlide hideFirstSlide prevSlide",css:b.extend({},d,{left:h.cssSeparation,top:"50%","margin-top":"-"+e/2+"px"}),html:b("<span/>",{css:b.extend({},i,{"border-right":j.width+"px solid "+h.cssFgColor})}).add(b("<span/>",{css:j})).add(c.createTextNode("."))}),$link:b("<a/>",{"class":"controlSlide linkSlide",target:"_blank",css:b.extend({},d,{right:h.cssSeparation,top:h.cssSeparation,"border-radius":h.cssRadius}),html:b("<img/>",{width:"auto",height:2*f,css:{"vertical-align":"middle"}}).add(c.createTextNode("."))}),count:l,first:n,slide:o}))}var e,f=0,g={},h={altAttr:"",lazyAttr:"data-original",loadingImg:"data:image/gif;base64,R0lGODlhKwALAMIEAP///wAAAIKCggAAABRaZhRaZhRaZhRaZiH/C05FVFNDQVBFMi4wAwEAAAAh+QQJMgADACwAAAAAKwALAAADNDiyzPNQtRbhpHfWTCP/mgduYEl+Z8mlGauG1ii+7bzadBejeL64sIfvAtQJR7yioHJsJQAAIfkECTIAAwAsAAAAACsACwAAAz84sMzzcIhJaYQ1q8bBzeAHVh0njtOJlo06uiDrRKhF14K8wNpd6x4fikfSEW0YHPCYEo6WzlBUI7s8albJMAEAIfkECTIAAwAsAAAAACsACwAAAz84sszzcIBJaYQtq6xj/dPFjaRwgZ9YrsuJWhHLui+gyiT93jino7xe4wcKCluemi127ECUS8xqM7o8alaqLwEAIfkEATIAAwAsAAAAACsACwAAA0I4sszzULUWIbgYy0kjn1UmXl8HlU40iuhStUK4YvDbyjNQe7ea671T8PEDomxHX24nTFp+zEd0UNxwKtISljobJAAAOw==",cssButtonSize:"45px",cssPadding:"15px",cssFontSize:".9em",cssLineHeight:"1.5em",cssFontFamily:"sans-serif",cssBgColor:"gray",cssFgColor:"white",cssSeparation:"1.5%",cssRadius:"0px",cssOpacity:.65};e=function(a,c){this.elem=a,this.$elem=b(a),this.options=c,this.metadata=this.$elem.data("options"),this.sourceUrl=this.$elem.data("src"),this.toLoad=-1,this.counter=null,this.currentSlide=null},e.prototype={defaults:{aspectRatio:.75,imgMaxWidth:0,nextTitle:"Next",prevTitle:"Previous",skipFTitle:"Skip to last slide",skipBTitle:"Skip to first slide",fadeDuration:0,seqLoad:!0,lazyLoad:{},linkUrl:0,linkIcon:0,linkTitle:"View on SlideShare",linkHides:!0,holderTheme:"picoSlide",apiUrl:"http://www.slideshare.net/api/oembed/2?url=",loadFirst:function(){},loadAll:function(){},timeoutErr:"The connection has timed out",missAttrErr:'Missing expected attribute "data-src"',timeout:15e3},init:function(){return this.settings=b.extend({},this.defaults,this.options,this.metadata),d(this.elem),this.getCover(),this.elem.thisRef=this,this},loading:function(a){this.elem.style.backgroundImage=a?'url("'+h.loadingImg+'")':"none"},onLoadHandler:function(){var a,b;b=this.parentNode.thisRef,a=this.nextSibling,b.toLoad-=1,0===b.toLoad&&(b.loading(!1),b.settings.loadAll.call(b.$elem),f-=1,0===f&&(g=null)),b.settings.seqLoad&&!this.className.match(/\blastSlide\b/)&&a.setAttribute("src",a.getAttribute("data-src")),this.onload=null},fadeInSlide:function(a,c){var d;a.className.match(/\bfirstSlide\b/)?(this.$elem.find("span.hideFirstSlide").hide(),this.$elem.find("span.hideLastSlide, a.controlSlide").show()):a.className.match(/\blastSlide\b/)?(this.$elem.find("span.hideLastSlide").hide(),this.$elem.find("span.hideFirstSlide, a.controlSlide").show()):(this.$elem.find("span.controlSlide").show(),this.settings.linkHides&&this.$elem.find("a.controlSlide").hide()),d=b(a).index()+1,this.counter.innerHTML=d,c&&this.$elem.find("a.controlSlide").attr("href",this.settings.linkUrl+d),a.style.visibility="visible",b(a).fadeTo(this.settings.fadeDuration,.99),this.currentSlide.style.visibility="hidden",this.currentSlide.style.opacity=0,this.currentSlide=a},scaffolding:function(a){var d,e,f,i,j,k,l,m,n,o,p,q;f=c.createDocumentFragment(),i=!1,l=a.slide_image_baseurl_suffix+"?cb="+a.version_no,m=a.slide_image_baseurl_suffix.split(/[-.]/)[1],n=Math.round(m*this.settings.aspectRatio),o=a.total_slides,this.toLoad=o,p=this,this.loading(!0),this.currentSlide=g.first.cloneNode(!1),this.currentSlide.width=m,this.currentSlide.height=n,this.currentSlide.setAttribute(h.lazyAttr,a.slide_image_baseurl+"1"+l),d=b(this.currentSlide),f.appendChild(this.currentSlide),e=g.$next[0].cloneNode(!0),e.title=this.settings.nextTitle,f.appendChild(e),this.counter=g.count.cloneNode(!0),this.counter.firstChild.appendChild(c.createTextNode(o)),f.appendChild(this.counter),this.settings.linkUrl!==!1&&(0===this.settings.linkUrl&&(this.settings.linkUrl=this.sourceUrl+"/",i=!0),0===this.settings.linkIcon&&(this.settings.linkIcon=/^https?:\/\/[^\/]+/.exec(this.settings.linkUrl)+"/favicon.ico"),j=g.$link[0].cloneNode(!0),j.title=this.settings.linkTitle,j.href=this.settings.linkUrl,j.firstChild.src=this.settings.linkIcon,f.appendChild(j)),this.elem.insertBefore(f,this.elem.firstChild),this.currentSlide.onload=function(){this.className.match(/\benabled\b/)?(p.toLoad-=1,p.loading(!1),o>1&&(e.style.display="block",p.counter.style.display="block",p.counter=p.counter.firstChild.firstChild,b(e).one("click",function(){for(p.loading(!0),f=c.createDocumentFragment(),k=p.settings.seqLoad?"data-src":"src",q=2;o>=q;q+=1)j=g.slide.cloneNode(!1),j.setAttribute(k,a.slide_image_baseurl+q+l),j.onload=p.onLoadHandler,f.appendChild(j);j.className="lastSlide",j=g.$prev[0].cloneNode(!0),j.title=p.settings.prevTitle,f.appendChild(j),j=g.$skipF[0].cloneNode(!0),j.title=p.settings.skipFTitle,f.appendChild(j),j=g.$skipB[0].cloneNode(!0),j.title=p.settings.skipBTitle,f.appendChild(j),p.elem.insertBefore(f,this),p.settings.seqLoad&&(d.next()[0].src=d.next()[0].getAttribute("data-src")),p.$elem.delegate(".controlSlide","click",function(){this.className.match(/\bskipFSlide\b/)?p.currentSlide.className.match(/\blastSlide\b/)||p.fadeInSlide(p.elem.children[o-1],i):this.className.match(/\bskipBSlide\b/)?p.currentSlide.className.match(/\bfirstSlide\b/)||p.fadeInSlide(p.elem.firstChild,i):this.className.match(/\bnextSlide\b/)?p.currentSlide.className.match(/\blastSlide\b/)||p.fadeInSlide(p.currentSlide.nextSibling,i):this.className.match(/\bprevSlide\b/)&&(p.currentSlide.className.match(/\bfirstSlide\b/)||p.fadeInSlide(p.currentSlide.previousSibling,i))})})),p.$elem.delegate(".controlSlide",{mouseenter:function(){b(this).stop(!1).animate({opacity:.99},p.settings.fadeDuration)},mouseleave:function(){b(this).stop(!1).animate({opacity:h.cssOpacity},p.settings.fadeDuration)}}),p.settings.loadFirst.call(p.$elem),this.onload=null):b(this).addClass("enabled")},"undefined"!=typeof Holder&&p.settings.holderTheme!==!1&&(d.attr("data-src","holder.js/"+d.width()+"x"+Math.round(d.width()*p.settings.aspectRatio)+"/auto/"+p.settings.holderTheme),"picoSlide"===p.settings.holderTheme&&Holder.add_theme("picoSlide",{background:h.cssBgColor,text:" "}),Holder.run({images:d[0]})),b.fn.lazyload&&p.settings.lazyLoad!==!1?d.lazyload(p.settings.lazyLoad):d.addClass("enabled").attr("src",d.attr(h.lazyAttr))},getCover:function(){var a,c=this;this.sourceUrl?(a=this.settings.apiUrl+this.sourceUrl+"&format=jsonp",this.settings.imgMaxWidth||(this.settings.imgMaxWidth=this.$elem.width()),a+="&maxwidth="+this.settings.imgMaxWidth,b.ajax({type:"GET",url:a,dataType:"jsonp",timeout:this.settings.timeout}).done(function(a){c.scaffolding(a)}).fail(function(a,b){"timeout"===b&&c.$elem.html(c.settings.timeoutErr)})):c.$elem.html(c.settings.missAttrErr)}},b.fn.picoSlides=function(a){return d(),f=this.length,this.each(function(){new e(this,a).init()})},e.slideDefs=e.prototype.defaults,e.elemDefs=h,a.PicoSlides=e}(window,jQuery,document);