Advertisement
ArtSemkin

Untitled

Jun 9th, 2020
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var SliderProjects = function ($scope) {
  2.  
  3.     var $slider = $scope.find('.js-slider-projects');
  4.  
  5.     if (!$slider.length) {
  6.         return;
  7.     }
  8.  
  9.     $slider.each(function () {
  10.  
  11.         var
  12.             $current = $(this),
  13.             breakpoints = {},
  14.             lg = window.elementorFrontend ? window.elementorFrontend.config.breakpoints.lg - 1 : 1024,
  15.             md = window.elementorFrontend ? window.elementorFrontend.config.breakpoints.md - 1 : 767;
  16.  
  17.         breakpoints[lg] = {
  18.             slidesPerView: $current.data('slides-per-view-tablet') || 1.33,
  19.             spaceBetween: $current.data('space-between-tablet') || 20,
  20.             centeredSlides: $current.data('centered-slides-tablet') || true,
  21.         };
  22.         breakpoints[md] = {
  23.             slidesPerView: $current.data('slides-per-view-mobile') || 1.33,
  24.             spaceBetween: $current.data('space-between-mobile') || 20,
  25.             centeredSlides: $current.data('centered-slides-mobile') || true,
  26.         };
  27.  
  28.         var slider = new Swiper($current, {
  29.             autoHeight: $current.data('auto-height') || false,
  30.             speed: $current.data('speed') || 1200,
  31.             preloadImages: false,
  32.             lazy: {
  33.                 loadPrevNext: true,
  34.                 loadOnTransitionStart: true
  35.             },
  36.             observer: true,
  37.             watchSlidesProgress: true,
  38.             watchSlidesVisibility: true,
  39.             centeredSlides: $current.data('centered-slides') || false,
  40.             slidesPerView: $current.data('slides-per-view') || 4,
  41.             autoplay: {
  42.                 disableOnInteraction: false,
  43.                 enabled: $current.data('autoplay-enabled') || false,
  44.                 delay: $current.data('autoplay-delay') || 6000,
  45.             },
  46.             spaceBetween: $current.data('space-between') || 0,
  47.             pagination: {
  48.                 el: '.js-slider-projects__dots',
  49.                 type: 'bullets',
  50.                 bulletElement: 'div',
  51.                 clickable: true,
  52.                 bulletClass: 'slider__dot',
  53.                 bulletActiveClass: 'slider__dot_active'
  54.             },
  55.             navigation: {
  56.                 nextEl: '.js-slider-projects__next',
  57.                 prevEl: '.js-slider-projects__prev',
  58.             },
  59.             breakpoints: breakpoints,
  60.         });
  61.  
  62.         // update height after images are loaded
  63.         slider.on('lazyImageReady', function () {
  64.  
  65.             setTimeout(function () {
  66.                 slider.update();
  67.             }, 300);
  68.  
  69.         });
  70.  
  71.         renderSliderDots(slider, $current.find('.js-slider-projects__dots'));
  72.         renderSliderCounter(
  73.             slider,
  74.             $current.find('.js-slider-projects__counter-current'),
  75.             '',
  76.             $current.find('.js-slider-projects__counter-total')
  77.         );
  78.  
  79.     });
  80.  
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement