1(function ($) { 2 "use strict"; 3 4 $(document).on('machicShopPageInit', function () { 5 machicThemeModule.siteslider(); 6 }); 7 8 machicThemeModule.siteslider = function() { 9 const container = document.querySelectorAll( '.swiper-container' ); 10 11 if ( container !== null ) { 12 container.forEach( ( event ) => { 13 const loader = '<svg xmlns="http://www.w3.org/2000/svg" class="spinner" width="50" height="50" viewBox="0 0 44 44"><circle class="spinner-path" cx="22" cy="22" r="20" fill="none" stroke-width="3"></circle></svg>'; 14 const sliderLoader = document.createElement( 'div' ); 15 sliderLoader.classList.add( 'slider-loader' ); 16 17 sliderLoader.innerHTML = loader; 18 event.prepend( sliderLoader ); 19 20 const items = event.querySelectorAll( '.swiper-slide' ); 21 imagesLoaded( items, () => { 22 event.classList.add( 'slider-loaded' ); 23 }); 24 25 // Slider options 26 let direction = event.dataset.direction; 27 let effect = event.dataset.effect; 28 let loop = event.dataset.loop === 'true' ? true : false; 29 30 let desktopItems = parseInt( event.dataset.items ); 31 let mobileItems = parseInt( event.dataset.mobileitems ); 32 let tabletItems = parseInt( event.dataset.tabletitems ); 33 let speed = parseInt( event.dataset.speed ); 34 let spaceBetween = parseInt( event.dataset.spacebetween ); 35 36 // Autoplay Option 37 let autoplay = event.dataset.autoplay === 'true' ? true : false; 38 let autospeed = parseInt( event.dataset.autospeed ); 39 let autoPlaySettings = false; 40 41 if ( autoplay ) { 42 autoPlaySettings = { 43 delay: autospeed, 44 pauseOnMouseEnter: true 45 } 46 } 47 48 // Init slider 49 const swiper = new Swiper( event, { 50 // Optional parameters 51 direction: direction, 52 loop: loop, 53 speed: speed, 54 effect: effect, 55 autoplay: autoPlaySettings, 56 spaceBetween: spaceBetween, 57 58 // If we need pagination 59 pagination: { 60 el: '.swiper-pagination', 61 clickable: true 62 }, 63 64 // Navigation arrows 65 navigation: { 66 nextEl: '.swiper-button-next', 67 prevEl: '.swiper-button-prev', 68 }, 69
70 // Breakpoints 71 breakpoints: { 72 320: { 73 slidesPerView: mobileItems 74 }, 75 480: { 76 slidesPerView: mobileItems 77 }, 78 640: { 79 slidesPerView: mobileItems 80 }, 81 768: { 82 slidesPerView: tabletItems 83 }, 84 1024: { 85 slidesPerView: tabletItems 86 }, 87 1200: { 88 slidesPerView: desktopItems 89 }, 90 1280: { 91 slidesPerView: desktopItems 92 } 93 } 94 }); 95 }); 96 } 97 } 98 99 $(document).ready(function() { 100 machicThemeModule.siteslider(); 101 }); 102 103})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.