Files
2022-11-04 13:24:24 +02:00

1 line
3.4 KiB
JavaScript
Executable File

var activateResizeCarousel,carousel=function(){function e(){var e=document.querySelector(S);e&&(o(),n(),c(),l(),v())}function t(){var e=document.querySelector(L),t=document.querySelector(q);e&&t&&(e.addEventListener("click",a),t.addEventListener("click",i))}function r(){var e=document.querySelector(S),t=document.querySelector(k);return parseInt(e.offsetWidth/t.offsetWidth,10)}function c(){var e=document.querySelector(p),t=document.querySelectorAll(A).length,c=r(),l=Math.ceil(t/c);e&&e.classList.toggle("hidden",l<=1)}function l(){var e,t,c,l=document.querySelector(C),n=document.querySelectorAll(A).length,o=r(),a=Math.ceil(n/o);if(l){for(e=document.createDocumentFragment(),t=0;t<a;t+=1)c=document.createElement("span"),c.setAttribute("data-slide",t),c.classList.add("kd-carousel-indicator"),e.appendChild(c);l.innerHTML="",l.appendChild(e),Array.prototype.slice.call(document.querySelectorAll(E)).forEach(function(e){e.addEventListener("click",f)}),l.classList.toggle("vs-hidden",a<=1)}}function n(){var e=document.querySelector(N);e.classList.add(z)}function o(){var e,t,c,l,n,o=document.querySelectorAll(N),a=Array.from(document.querySelectorAll(A)),i=r(),s=0;for(h(o),e=0,t=a.length;e<t;e+=i){for(c=a.slice(e,e+i),l=document.createElement("div"),l.classList.add("kd-carousel-slide-wrap"),l.setAttribute("data-slide",s++),n=0;n<c.length;n+=1)l.appendChild(c[n]);document.querySelector(S).appendChild(l)}}function a(e){var t=s(),r=e.target.parentElement.classList.contains(M);r||u(--t,y)}function i(e){var t=s(),r=e.target.parentElement.classList.contains(M);r||u(++t,g)}function s(){var e=document.querySelector(T);return parseInt(e.dataset.slide)}function d(){var e=document.querySelector(T);e.classList.toggle(z)}function u(e,t){var r=t===g,c=t===y,l=document.querySelector(T),n=document.querySelector(".kd-carousel-slide-wrap[data-slide='"+e+"']"),o=r?"kd-slide-left":"kd-slide-right",a=r?"kd-slide-right":"kd-slide-left",i=document.querySelectorAll(N).length;c&&e<0||r&&e>=i||(m(e),v(e),d(),l.classList.add(o),n.classList.add(a),setTimeout(function(){l.classList.remove(o)},600),setTimeout(function(){n.classList.remove(a),n.classList.add(z)},0))}function m(e){var t=document.querySelectorAll(N).length-1,r=document.querySelector(q),c=document.querySelector(L);r.classList.toggle(M,isNaN(e)||e>=t),c.classList.toggle(M,e<=0||isNaN(e))}function f(e){u(parseInt(this.dataset.slide),g)}function v(e){var t=document.querySelectorAll(w),r=document.querySelectorAll(E);if(r.length){if(!t.length)return void r[0].classList.add(z);t[0].classList.toggle(z),r[e]&&r[e].classList.toggle(z)}}function h(e){var t,r,c,l;for(t=0;t<e.length;t++){for(r=document.createDocumentFragment(),c=e[t];c.firstChild;)l=c.removeChild(c.firstChild),r.appendChild(l);c.parentNode.replaceChild(r,c)}}var g="next",y="prev",p=".kd-carousel-controls",L=".kd-carousel-control-prev",q=".kd-carousel-control-next",S=".kd-carousel-slides",k=".kd-carousel-slide.active",A=".kd-carousel-slide",C=".kd-carousel-indicators",E=".kd-carousel-indicator",w=".kd-carousel-indicator.active",N=".kd-carousel-slide-wrap",T=".kd-carousel-slide-wrap.active",z="active",M="disabled";return{init:e,slide:u,attachEvents:t}}();window.addEventListener("DOMContentLoaded",function(){carousel.init(),carousel.attachEvents()}),window.addEventListener("resize",function(){clearTimeout(activateResizeCarousel),activateResizeCarousel=setTimeout(function(){carousel.init()},500)});