diff --git a/lib/jquery.tinycarousel.js b/lib/jquery.tinycarousel.js index ae9acde..2ccd816 100644 --- a/lib/jquery.tinycarousel.js +++ b/lib/jquery.tinycarousel.js @@ -119,7 +119,9 @@ * @chainable */ this.update = function() { - $overview.find(".mirrored").remove(); + if (self.options.infinite) { + $overview.find(".mirrored").remove(); + } $slides = $overview.children(); viewportSize = $viewport[0]["offset" + sizeLabel]; @@ -128,7 +130,10 @@ self.slideCurrent = self.options.start || 0; slidesVisible = Math.ceil(viewportSize / slideSize); - $overview.append($slides.slice(0, slidesVisible).clone().addClass("mirrored")); + if (self.options.infinite) { + $overview.append($slides.slice(0, slidesVisible).clone().addClass("mirrored")); + } + $overview.css(sizeLabel.toLowerCase(), slideSize * (self.slidesTotal + slidesVisible)); _setButtons(); diff --git a/lib/jquery.tinycarousel.min.js b/lib/jquery.tinycarousel.min.js index 2d8dd26..9d4f175 100644 --- a/lib/jquery.tinycarousel.min.js +++ b/lib/jquery.tinycarousel.min.js @@ -4,4 +4,4 @@ * Copyright (c) 2015 Maarten Baijs ; * Licensed under the MIT license */ -!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){function b(b,e){function f(){return i.update(),i.move(i.slideCurrent),g(),i}function g(){i.options.buttons&&(n.click(function(){return i.move(--t),!1}),m.click(function(){return i.move(++t),!1})),a(window).resize(i.update),i.options.bullets&&b.on("click",".bullet",function(){return i.move(t=+a(this).attr("data-slide")),!1})}function h(){i.options.buttons&&!i.options.infinite&&(n.toggleClass("disable",i.slideCurrent<=0),m.toggleClass("disable",i.slideCurrent>=i.slidesTotal-r)),i.options.bullets&&(o.removeClass("active"),a(o[i.slideCurrent]).addClass("active"))}this.options=a.extend({},d,e),this._defaults=d,this._name=c;var i=this,j=b.find(".viewport:first"),k=b.find(".overview:first"),l=null,m=b.find(".next:first"),n=b.find(".prev:first"),o=b.find(".bullet"),p=0,q={},r=0,s=0,t=0,u="x"===this.options.axis,v=u?"Width":"Height",w=u?"left":"top",x=null;return this.slideCurrent=0,this.slidesTotal=0,this.intervalActive=!1,this.update=function(){return k.find(".mirrored").remove(),l=k.children(),p=j[0]["offset"+v],s=l.first()["outer"+v](!0),i.slidesTotal=l.length,i.slideCurrent=i.options.start||0,r=Math.ceil(p/s),k.append(l.slice(0,r).clone().addClass("mirrored")),k.css(v.toLowerCase(),s*(i.slidesTotal+r)),h(),i},this.start=function(){return i.options.interval&&(clearTimeout(x),i.intervalActive=!0,x=setTimeout(function(){i.move(++t)},i.options.intervalTime)),i},this.stop=function(){return clearTimeout(x),i.intervalActive=!1,i},this.move=function(a){return t=isNaN(a)?i.slideCurrent:a,i.slideCurrent=t%i.slidesTotal,0>t&&(i.slideCurrent=t=i.slidesTotal-1,k.css(w,-i.slidesTotal*s)),t>i.slidesTotal&&(i.slideCurrent=t=1,k.css(w,0)),q[w]=-t*s,k.animate(q,{queue:!1,duration:i.options.animation?i.options.animationTime:0,always:function(){b.trigger("move",[l[i.slideCurrent],i.slideCurrent])}}),h(),i.start(),i},f()}var c="tinycarousel",d={start:0,axis:"x",buttons:!0,bullets:!1,interval:!1,intervalTime:3e3,animation:!0,animationTime:1e3,infinite:!0};a.fn[c]=function(d){return this.each(function(){a.data(this,"plugin_"+c)||a.data(this,"plugin_"+c,new b(a(this),d))})}}); \ No newline at end of file +!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports?module.exports=t(require("jquery")):t(jQuery)}(function(t){function i(i,s){function o(){return u.update(),u.move(u.slideCurrent),r(),u}function r(){u.options.buttons&&(p.click(function(){return u.move(--b),!1}),c.click(function(){return u.move(++b),!1})),t(window).resize(u.update),u.options.bullets&&i.on("click",".bullet",function(){return u.move(b=+t(this).attr("data-slide")),!1})}function l(){u.options.buttons&&!u.options.infinite&&(p.toggleClass("disable",u.slideCurrent<=0),c.toggleClass("disable",u.slideCurrent>=u.slidesTotal-C)),u.options.bullets&&(v.removeClass("active"),t(v[u.slideCurrent]).addClass("active"))}this.options=t.extend({},n,s),this._defaults=n,this._name=e;var u=this,a=i.find(".viewport:first"),d=i.find(".overview:first"),f=null,c=i.find(".next:first"),p=i.find(".prev:first"),v=i.find(".bullet"),m=0,h={},C=0,T=0,b=0,g="x"===this.options.axis,x=g?"Width":"Height",w=g?"left":"top",y=null;return this.slideCurrent=0,this.slidesTotal=0,this.intervalActive=!1,this.update=function(){return u.options.infinite&&d.find(".mirrored").remove(),f=d.children(),m=a[0]["offset"+x],T=f.first()["outer"+x](!0),u.slidesTotal=f.length,u.slideCurrent=u.options.start||0,C=Math.ceil(m/T),u.options.infinite&&d.append(f.slice(0,C).clone().addClass("mirrored")),d.css(x.toLowerCase(),T*(u.slidesTotal+C)),l(),u},this.start=function(){return u.options.interval&&(clearTimeout(y),u.intervalActive=!0,y=setTimeout(function(){u.move(++b)},u.options.intervalTime)),u},this.stop=function(){return clearTimeout(y),u.intervalActive=!1,u},this.move=function(t){return b=isNaN(t)?u.slideCurrent:t,u.slideCurrent=b%u.slidesTotal,0>b&&(u.slideCurrent=b=u.slidesTotal-1,d.css(w,-u.slidesTotal*T)),b>u.slidesTotal&&(u.slideCurrent=b=1,d.css(w,0)),h[w]=-b*T,d.animate(h,{queue:!1,duration:u.options.animation?u.options.animationTime:0,always:function(){i.trigger("move",[f[u.slideCurrent],u.slideCurrent])}}),l(),u.start(),u},o()}var e="tinycarousel",n={start:0,axis:"x",buttons:!0,bullets:!1,interval:!1,intervalTime:3e3,animation:!0,animationTime:1e3,infinite:!0};t.fn[e]=function(n){return this.each(function(){t.data(this,"plugin_"+e)||t.data(this,"plugin_"+e,new i(t(this),n))})}}); \ No newline at end of file