64 lines
1.4 KiB
JavaScript
64 lines
1.4 KiB
JavaScript
;(function ($) {
|
|
function initCustomSlider($scope) {
|
|
var $wrappers = $scope.find('.custom-slider-wrapper')
|
|
|
|
if (!$wrappers.length) {
|
|
return
|
|
}
|
|
|
|
$wrappers.each(function () {
|
|
var $wrapper = $(this)
|
|
var $swiperEl = $wrapper.find('.custom-slider-swiper')[0]
|
|
|
|
if (!$swiperEl) {
|
|
return
|
|
}
|
|
|
|
var autoplayDelay = parseInt($wrapper.data('autoplay-delay'), 10) || 4000
|
|
var transitionSpeed =
|
|
parseInt($wrapper.data('transition-speed'), 10) || 1200
|
|
|
|
if ($wrapper.data('swiper-initialized')) {
|
|
return
|
|
}
|
|
|
|
var swiper = new Swiper($swiperEl, {
|
|
loop: true,
|
|
slidesPerView: 1,
|
|
effect: 'fade',
|
|
fadeEffect: {
|
|
crossFade: true,
|
|
},
|
|
speed: transitionSpeed,
|
|
autoplay: {
|
|
delay: autoplayDelay,
|
|
disableOnInteraction: false,
|
|
},
|
|
pagination: {
|
|
el: $wrapper.find('.custom-slider-pagination')[0],
|
|
clickable: true,
|
|
},
|
|
navigation: {
|
|
nextEl: $wrapper.find('.custom-slider-button-next')[0],
|
|
prevEl: $wrapper.find('.custom-slider-button-prev')[0],
|
|
},
|
|
})
|
|
|
|
$wrapper.data('swiper-initialized', true)
|
|
})
|
|
}
|
|
|
|
$(document).ready(function () {
|
|
initCustomSlider($(document))
|
|
})
|
|
|
|
$(window).on('elementor/frontend/init', function () {
|
|
elementorFrontend.hooks.addAction(
|
|
'frontend/element_ready/custom-slider.default',
|
|
function ($scope) {
|
|
initCustomSlider($scope)
|
|
}
|
|
)
|
|
})
|
|
})(jQuery)
|