PageSourceSearch

https://vorotas.ru/bitrix/templates/aspro-allcorp3/js/logo_depend_banners.js

js vorotas.ru collected 2026-10-08 19:24:54 UTC 2,950 bytes, 68 lines download raw bytes

1function logo_depend_banners(menu_color) {
2  menu_color =
3    menu_color || $(".banners-big--detail .banners-big__item").data("color");
4
5  let bLightMenu = menu_color && menu_color === "light";
6
7  const $header = document.querySelector('header');
8  const $headerLogo = document.querySelector("header .logo img");
9
10  // set header color if there is banner
11  if (document.querySelector(".banners-big")) {
12    $header.classList.remove('light', 'dark');
13
14    if (bLightMenu) {
15      $header.classList.add(menu_color);
16    }
17  } else {
18    bLightMenu = !!$header.classList.contains('light');
19  }
20
21  if ($headerLogo && arAsproOptions.THEME.LOGO_IMAGE_WHITE) {
22    // get color scheme
23    const bDarkMode = !!~document.querySelector("body").className.indexOf("theme-default")
24      ? window.matchMedia("(prefers-color-scheme: dark)").matches
25      : !!~document.querySelector("body").className.indexOf("theme-dark");
26  
27    // set main logo image
28    const bLogoOpacity = // when logotype on transparent background
29      $("body.header_opacity:not(.left_header_column)").length &&
30      (
31        !$("header.header--offset").length ||
32        $("header .logo").closest(".header__top-part").length || 
33        (
34          $("header.header--offset").length && 
35          $("header .header__main-inner.bg_none, header .header__sub-inner.bg_none").length
36        )
37      );
38    const bLogoWhite = !!document.querySelector(
39      ".header__main-inner.header--color_colored .logo, .header__main-inner.header--color_dark .logo, .header__main-part.header--color_dark .logo, .header__main-part.header--color_colored .logo, .header__inner--parted.dark .logo, .header__sub-inner.header--color_colored .logo, .header__sub-inner.header--color_dark .logo"
40    ); // when logo is permanent white
41    const logoImage =
42        (bLogoOpacity && bLightMenu) || // logo on transparent banner
43        (!bLogoOpacity && (bDarkMode || (!bDarkMode && bLogoWhite))) // logo on painted banner
44          ? arAsproOptions.THEME.LOGO_IMAGE_WHITE
45          : arAsproOptions.THEME.LOGO_IMAGE;
46    $headerLogo.setAttribute("src", logoImage);
47  
48    // // set other logotypes
49    // const $logotypes = document.querySelectorAll(
50    //   "#headerfixed .logo img, .mobileheader--color-white .logo img, .mobileheader--color-grey .logo img, #mobilemenu .logo img"
51    // );
52    // if ($logotypes.length) {
53    //   for (let i = 0; i < $logotypes.length; i++) {
54    //     $logotypes[i].setAttribute(
55    //       "src",
56    //       bDarkMode && arAsproOptions.THEME.LOGO_IMAGE_WHITE
57    //         ? arAsproOptions.THEME.LOGO_IMAGE_WHITE
58    //         : arAsproOptions.THEME.LOGO_IMAGE
59    //     );
60    //   }
61    // }
62  }
63}
64
65BX.addCustomEvent("onChangeThemeColor", function (e) {
66  const menu_color = document.querySelector('.main-slider__item.swiper-slide-active') && document.querySelector('.main-slider__item.swiper-slide-active').dataset.color;
67  logo_depend_banners(menu_color);
68});

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.