PageSourceSearch

https://dek-art.ru/bitrix/components/aspro/com.banners.priority2/templates/.default/script.js

js dek-art.ru collected 2026-10-04 23:55:09 UTC 4,705 bytes, 131 lines download raw bytes

1let progressBar = "";
2
3function checkNavColor(slider) {
4  var nav_color_flex = slider.find(".swiper-slide-active").data("nav_color"),
5    menu_color = slider.find(".swiper-slide-active").data("color");
6
7  const allowChangeBySlider = typeof window.headerLogo !== "undefined" && window.headerLogo.allowChangeBySlider;
8
9  if (typeof checkNavColor.hasLongBanner === "undefined") {
10    checkNavColor.blockWithDynamicColor = $(".header_opacity .dynamic-color");
11    checkNavColor.hasLongBanner = checkNavColor.blockWithDynamicColor.length;
12  }
13
14  if (checkNavColor.hasLongBanner) {
15    var bLogoImg = $("body:not(.left_header_column) header .logo img").length; // && logoOpacity;
16    if (bLogoImg && allowChangeBySlider) {
17      $("header .logo img").attr("src", arAsproOptions.THEME.LOGO_IMAGE);
18    }
19    checkNavColor.blockWithDynamicColor.removeClass("theme-light theme-dark");
20    checkNavColor.blockWithDynamicColor.addClass(menu_color);
21    if (menu_color == "theme-dark") {
22      if (bLogoImg && allowChangeBySlider) {
23        if (arAsproOptions.THEME.LOGO_IMAGE_WHITE)
24          $("header .logo img").attr("src", arAsproOptions.THEME.LOGO_IMAGE_WHITE);
25      }
26    }
27  }
28  // swiper-pagintaion background color change
29  if (menu_color) {
30    slider.find(".swiper-pagination--progress").removeClass("theme-light theme-dark");
31    slider.find(".swiper-pagination--progress").addClass(menu_color);
32  }
33
34  var eventdata = { slider: slider };
35  BX.onCustomEvent("onSlide", [eventdata]);
36}
37
38readyDOM(function () {
39  $(".main-slider").mouseenter(function () {
40    const swiper = $(this).data("swiper");
41    if (!$(this).hasClass("video_visible") && swiper) {
42      if (swiper?.params.autoplay.enabled) {
43        if (!swiper.autoplay.paused) {
44          swiper.autoplay.pause();
45        }
46      }
47    }
48  });
49
50  $(".main-slider").mouseleave(function () {
51    const swiper = $(this).data("swiper");
52    if (!$(this).hasClass("video_visible") && swiper) {
53      if ($(this).data("swiper")?.params.autoplay.enabled) {
54        if (swiper.autoplay.paused) {
55          $(this).data("swiper").autoplay.resume();
56        }
57      }
58    }
59  });
60});
61
62BX.addCustomEvent("onSetSliderOptions", function (options) {
63  if ("type" in options && options.type === "main_banner" && options.countSlides > 1) {
64    if (typeof arAsproOptions["THEME"] != "undefined") {
65      const slideshowSpeed = Math.abs(parseInt(arAsproOptions["THEME"]["BIGBANNER_SLIDESSHOWSPEED"]));
66      const animationSpeed = Math.abs(parseInt(arAsproOptions["THEME"]["BIGBANNER_ANIMATIONSPEED"]));
67
68      options.autoplay = slideshowSpeed && arAsproOptions["THEME"]["BIGBANNER_ANIMATIONTYPE"].length ? {} : false;
69      // options.autoplay.pauseOnMouseEnter = true;
70      // options.autoplay.disableOnInteraction = false;
71      options.effect = arAsproOptions["THEME"]["BIGBANNER_ANIMATIONTYPE"] === "FADE" ? "fade" : "slide";
72      if (animationSpeed >= 0) {
73        options.speed = animationSpeed;
74      }
75      if (slideshowSpeed >= 0) {
76        options.autoplay.delay = slideshowSpeed;
77      }
78    }
79
80    if ("CURRENT_BANNER_INDEX" in arAsproOptions && arAsproOptions["CURRENT_BANNER_INDEX"]) {
81      currentBannerIndex = arAsproOptions["CURRENT_BANNER_INDEX"] - 1;
82      if (currentBannerIndex < options.countSlides) {
83        options.initialSlide = currentBannerIndex;
84        // options.autoplay = false;
85      }
86    }
87
88    if (!options.on) {
89      options.on = {};
90    }
91
92    options.on.autoplayTimeLeft = (swiper, time, progress) => {
93      progressBar.value = 1 - progress;
94    };
95  }
96});
97
98BX.addCustomEvent("onSlideChanges", function (eventdata) {
99  if ("slider" in eventdata && eventdata.slider) {
100    const slider = eventdata.slider;
101    if (slider && slider.params) {
102      if ("type" in slider.params && slider.params.type === "main_banner") {
103        setTimeout(function () {
104          checkNavColor($(slider.el));
105        }, 100);
106        if (slider.pagination && slider.pagination.bullets && slider.pagination.bullets[slider.activeIndex]) {
107          slider.pagination.el.querySelector(".swiper-pagination-bullet-active").append(progressBar);
108        }
109      }
110
111    }
112  }
113});
114
115BX.addCustomEvent("onInitSlider", eventdata => {
116  if (!eventdata.options) return;
117
118  if ("type" in eventdata.options && eventdata.options.type === "main_banner") {
119		const initialSlide = eventdata.options.initialSlide || 0;
120    progressBar = document.querySelector(".autoplay-progress");
121
122    if (
123      eventdata.slider &&
124      eventdata.slider.pagination &&
125      eventdata.slider.pagination.bullets &&
126      eventdata.slider.pagination.bullets[initialSlide]
127    ) {
128      eventdata.slider.pagination.bullets[initialSlide].append(progressBar);
129    }
130  }
131});

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.