-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathflexible-bootstrap-carousel.min.js
1 lines (1 loc) · 2.07 KB
/
flexible-bootstrap-carousel.min.js
1
!function(e,i){e.fn.flexCarousel=function(t){var a=e.extend({},t);return this.each(function(){function t(){var t=0;e(d).find(".items .flex-item").each(function(){t++});var s=0,r=e(i).width(),l=e(d).width(),c=void 0,o=void 0;if(0!==Object.keys(a).length)for(setting in a){var f=parseInt(setting.slice(0,setting.indexOf("-"))),v=parseInt(setting.slice(setting.indexOf("-")+1,setting.length));r>=f&&r<=v&&(c=!0,o=a[setting])}s=0!==Object.keys(a).length&&c&&void 0!==o?Math.floor(l/o):e(i).width()>991&&e(i).width()<1200?300:319,n(e(d),t,s,o)}function n(i,t,a,n){var d=e(i).width(),l=Math.floor(d/a);void 0===n?(l=Math.floor(d/a),l>3?l=3:l<1&&(l=1)):l=n;var c=Math.ceil(t/l),o=e(i).find(".items .flex-item"),f=o.length;e(i).find(".carousel-inner").html("");var v=0,h=String(Math.round(12/l));if(void 0!==n)for(var u=0;u<c;u++){for(var g="<div class='item'><div class='item-inner-container'>",m=0;m<l;m++){var C=v<=f-1?e(o[v]).clone().wrap("<p>").parent().html():"";""!==C&&(g+="<div class='item-inner'>"+C+"</div>"),v++}g+="</div></div>",e(i).find(".carousel-inner").append(g),0==u&&e(i).find(".carousel-inner .item").addClass("active")}else for(var u=0;u<c;u++){for(var g="<div class='item'><div class='row'>",m=0;m<l;m++){var C=v<=f-1?e(o[v]).clone().wrap("<p>").parent().html():"";g+="<div class='col-xs-"+h+"'>"+C+"</div>",v++}g+="</div></div>",e(i).find(".carousel-inner").append(g),0==u&&e(i).find(".carousel-inner .item").addClass("active")}s();var p=document.getElementById(e(i).attr("id"));r(p)}function s(){e(".carousel").each(function(){e(this).find(".carousel-inner .item").each(function(){var i=e(this).children(".row").children("[class^='col-xs']"),t=i.length;switch(t){case 1:i.eq(0).addClass("center");break;case 2:i.eq(0).addClass("left"),i.eq(1).addClass("right");break;case 3:i.eq(0).addClass("left"),i.eq(1).addClass("center"),i.eq(2).addClass("right");default:i.eq(0).addClass("left"),i.eq(t-1).addClass("right");for(var a=1;a<t-1;a++)i.eq(a).addClass("center")}})})}function r(e){var i=new CustomEvent("aCarouselHasBeenAdjusted",{});e.dispatchEvent(i)}var d=e(this);e(i).resize(t),t()})}}(jQuery,window);