1(function($){ 2"use strict"; 3 4 var WidgetHtSliderHandler = function ($scope, $) { 5 6 var slider_elem = $scope.find('.htslider-slider').eq(0); 7 if ( slider_elem.length > 0) { 8 9 var settings = slider_elem.data('settings'); 10 var arrows = settings['arrows']; 11 var dots = settings['dots']; 12 var autoplay = settings['autoplay']; 13 var autoplay_speed = parseInt(settings['autoplay_speed']) || 3000; 14 var animation_speed = parseInt(settings['animation_speed']) || 300; 15 var fade = settings['fade']; 16 var pause_on_hover = settings['pause_on_hover']; 17 var pause_on_dragging = settings['pause_on_dragging']; 18 var display_columns = parseInt(settings['product_items']) || 1; 19 var scroll_columns = parseInt(settings['scroll_columns']) || 4; 20 var tablet_width = parseInt(settings['tablet_width']) || 800; 21 var tablet_display_columns = parseInt(settings['tablet_display_columns']) || 1; 22 var tablet_scroll_columns = parseInt(settings['tablet_scroll_columns']) || 1; 23 var mobile_width = parseInt(settings['mobile_width']) || 480; 24 var mobile_display_columns = parseInt(settings['mobile_display_columns']) || 1; 25 var mobile_scroll_columns = parseInt(settings['mobile_scroll_columns']) || 1; 26 var rtl = $('html').attr('dir') === 'rtl' ? true : false; 27 28 slider_elem.slick({ 29 arrows: arrows, 30 prevArrow: $('<div />').append($scope.find('.slick-prev').clone().show()).html(), 31 nextArrow: $('<div />').append($scope.find('.slick-next').clone().show()).html(), 32 dots: dots, 33 infinite: true, 34 autoplay: autoplay, 35 autoplaySpeed: autoplay_speed, 36 speed: animation_speed, 37 fade: false, 38 pauseOnHover: pause_on_hover, 39 draggable: pause_on_dragging, 40 slidesToShow: display_columns, 41 slidesToScroll: scroll_columns, 42 rtl: rtl, 43 responsive: [ 44 { 45 breakpoint: tablet_width, 46 settings: { 47 slidesToShow: tablet_display_columns, 48 slidesToScroll: tablet_scroll_columns 49 } 50 }, 51 { 52 breakpoint: mobile_width, 53 settings: { 54 slidesToShow: mobile_display_columns, 55 slidesToScroll: mobile_scroll_columns 56 } 57 } 58 ] 59 }); 60 // Slider Area Element Animation 61 var $sliderArea = slider_elem; 62 if ($sliderArea.length) { 63 $sliderArea.each(function () { 64 var $this = $(this), 65 $singleSlideElem = $this.find('.slick-slide .elementor-widget-wrap .elementor-element, .slick-slide .e-con-inner .elementor-element, .slick-slide .e-con .elementor-element'); 66 function $slideElemAnimation() { 67 $singleSlideElem.each(function () { 68 var $this = $(this), 69 $thisSetting = $this.data('settings') ? $this.data('settings') : '', 70 $animationName = $thisSetting._animation, 71 $animationDelay = $thisSetting._animation_delay; 72 $this.removeClass('animated ' + $animationName).css('display', 'none').addClass('animated') 73 if($this.closest('.slick-slide').hasClass('slick-current') || $this.closest('.slick-slide').hasClass('slick-active')) { 74 $this.removeClass('animated fadeOut').addClass('animated ' + $animationName).css({ 75 'animation-delay': $animationDelay+'s','display':'' 76 }); 77 } 78 }); 79 } 80 //$slideElemAnimation(); 81 $this.on('afterChange', function(slick, currentSlide){ 82 $slideElemAnimation(); 83 }); 84 $this.on('beforeChange', function(slick, currentSlide){ 85 $slideElemAnimation(); 86 }); 87 $this.on('init', function(slick){ 88 $slideElemAnimation(); 89 }); 90 }); 91 } 92 93 94 }; 95 $('.htslider-slider-area.loading').removeClass('loading'); 96 }; 97 98 // Run this code under Elementor. 99 $(window).on('elementor/frontend/init', function () { 100 elementorFrontend.hooks.addAction( 'frontend/element_ready/htslider-slider-addons.default', WidgetHtSliderHandler); 101 }); 102})(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.