PageSourceSearch

https://thekindlingagency.com/wp-content/themes/asri/elements/widgets/js/carousel.js?ver=1.1.5

js thekindlingagency.com collected 2026-10-07 22:21:23 UTC 9,399 bytes, 197 lines download raw bytes

1( function( $ ) {
2    
3    var pxl_swiper_handler = function( $scope, $ ) {
4 
5        var breakpoints = elementorFrontend.config.breakpoints,
6            carousel = $scope.find(".pxl-swiper-container");
7        if(carousel.length == 0){
8            return false;
9        }
10
11        /* Arrow Custom */
12        $('.pxl-swiper-arrow-custom').parents('.pxl-swiper-sliders').addClass('pxl--hide-arrow');
13        $('.pxl-navigation-carousel').parents('.elementor-section').addClass('pxl--hide-arrow');
14        setTimeout(function() {
15            $('.pxl-swiper-arrow-custom.pxl-swiper-arrow-next').on('click', function () {
16                $(this).parents('.pxl-swiper-sliders').find('.pxl-swiper-arrow-main.pxl-swiper-arrow-next').trigger('click');
17            });
18            $('.pxl-swiper-arrow-custom.pxl-swiper-arrow-prev').on('click', function () {
19                $(this).parents('.pxl-swiper-sliders').find('.pxl-swiper-arrow-main.pxl-swiper-arrow-prev').trigger('click');
20            });
21        }, 300);
22
23        setTimeout(function() {
24            $('.pxl-navigation-carousel .pxl-navigation-arrow-prev').on('click', function () {
25                $(this).parents('.elementor-section').find('.pxl-swiper-arrow.pxl-swiper-arrow-prev').trigger('click');
26            });
27            $('.pxl-navigation-carousel .pxl-navigation-arrow-next').on('click', function () {
28                $(this).parents('.elementor-section').find('.pxl-swiper-arrow.pxl-swiper-arrow-next').trigger('click');
29            });
30        }, 300);
31
32        /* Main Slider */
33        var data = carousel.data(), 
34            settings = data.settings, 
35            carousel_settings = {
36                direction: settings['slide_direction'],
37                effect: settings['slide_mode'],
38                wrapperClass : 'pxl-swiper-wrapper',
39                slideClass: 'pxl-swiper-slide',
40                slidesPerView: settings['slides_to_show'],
41                slidesPerGroup: settings['slides_to_scroll'],
42                slidesPerColumn: settings['slide_percolumn'],
43                spaceBetween: 0,
44                navigation: {
45                    nextEl: $scope.find(".pxl-swiper-arrow-next"),
46                    prevEl: $scope.find(".pxl-swiper-arrow-prev"),
47                },
48                pagination : {
49                    el: $scope.find(".pxl-swiper-dots"),
50                    clickable : true,
51                    modifierClass: 'pxl-swiper-pagination-',
52                    bulletClass : 'pxl-swiper-pagination-bullet',
53                    renderCustom: function (swiper, element, current, total) {
54                        return current + ' of ' + total;
55                    },
56                    type: settings['pagination_type'],
57                },
58                speed: settings['speed'],
59                watchSlidesProgress: true,
60                watchSlidesVisibility: true,
61                breakpoints: {
62                    0 : {
63                        slidesPerView: settings['slides_to_show_xs'],
64                        slidesPerGroup: settings['slides_to_scroll'],
65                    },
66                    576 : {
67                        slidesPerView: settings['slides_to_show_sm'],
68                        slidesPerGroup: settings['slides_to_scroll'],
69                    },
70                    768 : {
71                        slidesPerView: settings['slides_to_show_md'],
72                        slidesPerGroup: settings['slides_to_scroll'],
73                    },
74                    1025 : {
75                        slidesPerView: settings['slides_to_show_lg'],
76                        slidesPerGroup: settings['slides_to_scroll'],
77                    },
78                    1200 : {
79                        slidesPerView: settings['slides_to_show'],
80                        slidesPerGroup: settings['slides_to_scroll'],
81                    },
82                    1600 : {
83                        slidesPerView: settings['slides_to_show_xxl'],
84                        slidesPerGroup: settings['slides_to_scroll'],
85                    }
86                }
87            }; 
88            // center
89            if(settings['center'] === 'true'){
90                carousel_settings['centeredSlides'] = true;
91            }
92            // effect
93            if(settings['slide_mode'] === 'fade'){
94                carousel_settings['fadeEffect'] = {
95                    crossFade: true
96                };
97            }
98            // loop
99            if(settings['loop'] === 'true'){
100                carousel_settings['loop'] = true;
101            }
102            // auto play
103            if(settings['autoplay'] === 'true'){
104                carousel_settings['autoplay'] = {
105                    delay : settings['delay'],
106                    disableOnInteraction : settings['pause_on_interaction']
107                };
108            } else {
109                carousel_settings['autoplay'] = false;
110            }
111            
112        carousel.each(function(index, element) {
113
114            var carousel_thumb = $scope.find(".pxl-swiper-thumbs");
115            var center = $scope.find(".pxl-swiper-thumbs").data("center");
116            var loop = $scope.find(".pxl-swiper-thumbs").data("loop");
117            var thumbxs = $scope.find(".pxl-swiper-thumbs").data("thumbxs");
118            var thumbsm = $scope.find(".pxl-swiper-thumbs").data("thumbsm");
119            var thumbmd = $scope.find(".pxl-swiper-thumbs").data("thumbmd");
120            var thumblg = $scope.find(".pxl-swiper-thumbs").data("thumblg");
121            if (carousel_thumb.length > 0) {
122                var galleryThumbs = new Swiper(carousel_thumb, {
123                    spaceBetween: 0,
124                    slidesPerView: 3,
125                    freeMode: true,
126                    watchSlidesProgress: true,
127                    centeredSlides: center,
128                    loop: loop,
129                    breakpoints: {
130                        0 : {
131                            slidesPerView: typeof thumbxs !== 'undefined' ? thumbxs : 1,
132                        },
133                        576 : {
134                            slidesPerView: typeof thumbsm !== 'undefined' ? thumbsm : 2,
135                        },
136                        768 : {
137                            slidesPerView: typeof thumbmd !== 'undefined' ? thumbmd : 3,
138                        },
139                        1025 : {
140                            slidesPerView: typeof thumblg !== 'undefined' ? thumblg : 3,
141                        },
142                    }
143                });
144                carousel_settings['thumbs'] = { swiper: galleryThumbs };
145            }
146           
147            var swiper = new Swiper(carousel, carousel_settings);
148             
149            if(settings['autoplay'] === 'true' && settings['pause_on_hover'] === 'true'){
150                $(this).on({
151                  mouseenter: function mouseenter() {
152                    this.swiper.autoplay.stop();
153                  },
154                  mouseleave: function mouseleave() {
155                    this.swiper.autoplay.start();
156                  }
157                });
158            }
159
160            $scope.find(".swiper-filter-wrap .filter-item").on("click", function(){
161                var target = $(this).attr('data-filter-target');
162                var parent = $(this).closest('.pxl-swiper-sliders');
163                $(this).siblings().removeClass("active");
164                $(this).addClass("active");
165
166                if(target == "all"){
167                    parent.find("[data-filter]").removeClass("non-swiper-slide").addClass("swiper-slide-filter");
168                    swiper.destroy();
169                    swiper = new Swiper(carousel, carousel_settings);
170                } else {
171                     
172                    parent.find(".swiper-slide-filter").not("[data-filter^='"+target+"'], [data-filter*=' "+target+"']").addClass("non-swiper-slide").removeClass("swiper-slide-filter");
173                    parent.find("[data-filter^='"+target+"'], [data-filter*=' "+target+"']").removeClass("non-swiper-slide").addClass("swiper-slide-filter");
174                    swiper.destroy();
175                    swiper = new Swiper(carousel, carousel_settings);
176                }
177            });
178
179            $('.swiper-filter-wrap').parents('.pxl-swiper-sliders').addClass('swiper-filter-active');
180
181        });
182
183    };
184
185    // Make sure you run this code under Elementor.
186    $( window ).on( 'elementor/frontend/init', function() {
187        // Swipers
188        elementorFrontend.hooks.addAction( 'frontend/element_ready/post_carousel.default', pxl_swiper_handler );
189        elementorFrontend.hooks.addAction( 'frontend/element_ready/team_carousel.default', pxl_swiper_handler );
190        elementorFrontend.hooks.addAction( 'frontend/element_ready/testimonial_carousel.default', pxl_swiper_handler );
191        elementorFrontend.hooks.addAction( 'frontend/element_ready/partner_carousel.default', pxl_swiper_handler );
192        elementorFrontend.hooks.addAction( 'frontend/element_ready/team_carousel.default', pxl_swiper_handler );
193        elementorFrontend.hooks.addAction( 'frontend/element_ready/gallery_carousel.default', pxl_swiper_handler );
194        elementorFrontend.hooks.addAction( 'frontend/element_ready/history_carousel.default', pxl_swiper_handler );
195        elementorFrontend.hooks.addAction( 'frontend/element_ready/tabs_carousel.default', pxl_swiper_handler );
196    } );
197} )( 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.