| @@ -1,0 +1,62 @@ | ||
| 1 | +;(function($){ | |
| 2 | + $(window).on('elementor/frontend/init', function(){ | |
| 3 | + elementorFrontend.hooks.addAction( | |
| 4 | + 'frontend/element_ready/king-addons-team-member-slider.default', | |
| 5 | + function($scope) { | |
| 6 | + var container = $scope.find('.swiper-container').get(0); | |
| 7 | + if (!container) { | |
| 8 | + return; | |
| 9 | + } | |
| 10 | + // Read settings from data attributes | |
| 11 | + var data = container.dataset; | |
| 12 | + var slidesPerView = parseInt(data.slidesPerView, 10) || 1; | |
| 13 | + var tabletSlides = parseInt(data.slidesPerViewTablet, 10) || slidesPerView; | |
| 14 | + var mobileSlides = parseInt(data.slidesPerViewMobile, 10) || tabletSlides; | |
| 15 | + var spaceBetween = parseInt(data.spaceBetween, 10) || 0; | |
| 16 | + var loop = data.loop === 'yes'; | |
| 17 | + var speed = parseInt(data.speed, 10) || 600; | |
| 18 | + // Autoplay | |
| 19 | + var autoplay = false; | |
| 20 | + if (data.autoplay === 'yes') { | |
| 21 | + autoplay = { | |
| 22 | + delay: parseInt(data.autoplayDelay, 10) || 2000, | |
| 23 | + disableOnInteraction: false | |
| 24 | + }; | |
| 25 | + // Reverse autoplay direction | |
| 26 | + if (data.autoplayReverse === 'yes') { | |
| 27 | + autoplay.reverseDirection = true; | |
| 28 | + } | |
| 29 | + } | |
| 30 | + // Pagination and Navigation | |
| 31 | + var config = { | |
| 32 | + slidesPerView: slidesPerView, | |
| 33 | + spaceBetween: spaceBetween, | |
| 34 | + loop: loop, | |
| 35 | + speed: speed | |
| 36 | + }; | |
| 37 | + // Responsive breakpoints for slides per view | |
| 38 | + config.breakpoints = { | |
| 39 | + 0: { slidesPerView: mobileSlides }, | |
| 40 | + 768: { slidesPerView: tabletSlides }, | |
| 41 | + 1024: { slidesPerView: slidesPerView } | |
| 42 | + }; | |
| 43 | + if (data.pagination === 'yes') { | |
| 44 | + config.pagination = { | |
| 45 | + el: $scope.find('.swiper-pagination').get(0), | |
| 46 | + clickable: true | |
| 47 | + }; | |
| 48 | + } | |
| 49 | + if (data.navigation === 'yes') { | |
| 50 | + config.navigation = { | |
| 51 | + nextEl: $scope.find('.swiper-button-next').get(0), | |
| 52 | + prevEl: $scope.find('.swiper-button-prev').get(0) | |
| 53 | + }; | |
| 54 | + } | |
| 55 | + if (autoplay) { | |
| 56 | + config.autoplay = autoplay; | |
| 57 | + } | |
| 58 | + new Swiper(container, config); | |
| 59 | + } | |
| 60 | + ); | |
| 61 | + }); | |
| 62 | +})(jQuery); | |