CSS code snippet on Testimonial Carousel 1:
selector{ --distance: -1.8em; --background: #929292; --padding: 2; } selector .elementor-swiper-button{ width: 2em; transform: translateX(var(--distance)) translateY(-1em); height: 2em; } selector .elementor-swiper-button.elementor-swiper-button-next{ transform: scaleX(-1) translateX(var(--distance)) translateY(-1em); } selector .elementor-swiper-button i{ width: 100%; height: 0.1em; background: currentColor; position: relative; opacity: 0.7; transform: translateY(0.97em) scale(calc(1/var(--padding))); transition: opacity 0.2s ease-in-out; } selector .elementor-swiper-button:hover i{ opacity: 1; } selector .elementor-swiper-button i:before, selector .elementor-swiper-button i:after{ content: ""; position: absolute; width: 50%; transform: rotate(45deg) translateX(-0.04em); transform-origin: left center; height: 0.1em; background: currentColor; } selector .elementor-swiper-button i:after{ transform: rotate(-45deg) translateX(-0.04em); } selector .elementor-swiper-button:before{ content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); background: var(--background); height: 100%; width: 100%; border-radius: 100%; opacity: 0.3; transition: opacity 0.2s ease-in-out; } selector .elementor-swiper-button:hover:before{ opacity: 0.8; } /* Small Desktop Device */ @media (max-width: 1250px){ selector{ --distance: 0em; } } /* Tablet Device */ @media (max-width: 1024px){ selector{ --distance: 1em; --background: #929292; --padding: 2; --size: 20px; } selector .elementor-swiper-button{ font-size: var(--size) !important; } } /* Mobile Device */ @media (max-width: 767px){ selector{ --distance: 1em; --background: #929292; --padding: 2; --size: 20px; } }
CSS code snippet on Testimonial Carousel 2 (Full Width Slider):
/* Fix Slider Issues */ selector .elementor-main-swiper{ width: 100% !important; } selector .swiper-wrapper{ align-items: flex-start; } /* Left and Right Button */ selector{ --distance: 2em; --background: #fff; --padding: 2; } selector .elementor-swiper-button{ width: 2em; transform: translateX(var(--distance)) translateY(-1em); height: 2em; } selector .elementor-swiper-button.elementor-swiper-button-next{ transform: scaleX(-1) translateX(var(--distance)) translateY(-1em); } selector .elementor-swiper-button i{ width: 100%; height: 0.1em; background: currentColor; position: relative; opacity: 0.7; transform: translateY(0.97em) scale(calc(1/var(--padding))); transition: opacity 0.2s ease-in-out; } selector .elementor-swiper-button:hover i{ opacity: 1; } selector .elementor-swiper-button i:before, selector .elementor-swiper-button i:after{ content: ""; position: absolute; width: 50%; transform: rotate(45deg) translateX(-0.04em); transform-origin: left center; height: 0.1em; background: currentColor; } selector .elementor-swiper-button i:after{ transform: rotate(-45deg) translateX(-0.04em); } selector .elementor-swiper-button:before{ content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); background: var(--background); height: 100%; width: 100%; border-radius: 100%; opacity: 0.3; transition: opacity 0.2s ease-in-out; } selector .elementor-swiper-button:hover:before{ opacity: 0.8; } /* Tablet Device */ @media (max-width: 1024px){ selector{ --distance: 1em; --background: #fff; --padding: 2; --size: 25px; } selector .elementor-swiper-button{ font-size: var(--size) !important; } } /* Mobile Device */ @media (max-width: 767px){ selector{ --distance: 1em; --background: #fff; --padding: 2; --size: 20px; } }
JavaScript code snippet for Testimonial Carousel 2 (Full Width Slider):
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> var $ = jQuery /* Adjust Height */ function adjustSlideHeight(){ $('.full-width-slider').each(function(){ $(this).find('.swiper-wrapper').height($(this).find('.swiper-slide-active').children('.elementor-testimonial').height()) }) } $(document).ready(function(){ setInterval(adjustSlideHeight, 1000) $('body').on('mousemove click', function(){ adjustSlideHeight() var count = 0 var updating = setInterval(function(){ adjustSlideHeight() if(count > 100) clearInterval(updating) count++ },100) }) }) /* Slider Animation Repeat */ function triggerAnimation($t, i){ var $this = $t setTimeout(function(){ currentIndex[i] = $this.find('.swiper-slide-active').index() if( currentIndex[i] != previousIndex[i] ) { var activeslide = $this.find('.swiper-slide-active .elementor-testimonial__text'), activeslideHTML = activeslide.html() activeslide.empty() activeslide.html(activeslideHTML) $this.find('[data-settings]').each(function(){ var $this = $(this), settings = $(this).attr('data-settings') if( settings ){ var settingsObj = JSON.parse(settings) if( settingsObj._animation ){ $this.addClass('elementor-invisible') $this.removeClass( settingsObj._animation + ' animated' ) if($this.closest('.swiper-slide-active').length){ var delay = settingsObj._animation_delay ? settingsObj._animation_delay : 0 setTimeout(function(){ $this.removeClass('elementor-invisible') $this.addClass( settingsObj._animation + ' animated' ) }, delay) } } } }) } previousIndex[i] = currentIndex[i] },50) } var currentIndex = [], previousIndex = [] $(document).ready(function(){ $('.full-width-slider').each(function(i){ var index = $(this).index() currentIndex[i] = 1 previousIndex[i] = 1 var indexFind = setInterval(function(){ var activeIndex = $('.full-width-slider').eq(index).find('.swiper-slide-active') if(activeIndex.length){ currentIndex[i] = activeIndex.index() previousIndex[i] = activeIndex.index() clearInterval(indexFind) } },200) $(this).on('click', function(){ var $this = $(this) triggerAnimation($this,i) setTimeout(function(){ triggerAnimation($this,i) },500) setTimeout(function(){ triggerAnimation($this,i) },1000) }) }) }) $.fn.isInViewport = function() { var elementTop = $(this).offset().top var elementBottom = elementTop + $(this).outerHeight() var viewportTop = $(window).scrollTop() var viewportBottom = viewportTop + $(window).height() return elementBottom > viewportTop && elementTop < viewportBottom } var repeatTrigger $(window).on('load scroll', function(){ clearInterval(repeatTrigger) $('.full-width-slider').each(function(index){ var $this = $(this) if($this.isInViewport()){ repeatTrigger = setInterval(function(){ triggerAnimation($this, index) },500) } }) }) </script>