PageSourceSearch

https://expogas.ru/bitrix/templates/aspro-lite/components/bitrix/menu/header/script.js

js expogas.ru collected 2026-10-04 23:32:57 UTC 4,329 bytes, 126 lines download raw bytes

1$(document).ready(function () {
2  $(document).on("click", ".header-menu__wide-submenu-item-inner .toggle_block", function (e) {
3    e.preventDefault();
4
5    var _this = $(this),
6      menu = _this.closest(".header-menu__wide-submenu-item-inner").find("> .submenu-wrapper");
7
8    if (!_this.hasClass("clicked")) {
9      _this.addClass("clicked");
10
11      menu.slideToggle(150, function () {
12        _this.removeClass("clicked");
13      });
14
15      _this.closest(".header-menu__wide-submenu-item-inner").toggleClass("opened");
16    }
17  });
18
19  $(document).on("click", ".header-menu__wide-submenu-item--more_items", function (e) {
20    e.stopImmediatePropagation();
21
22    var _this = $(this);
23    var bOpened = _this.hasClass("opened");
24    var childSpan = _this.find("span");
25    var childSvg = childSpan.find(".svg");
26    var parent = _this.closest(".header-menu__wide-submenu");
27    var collapsed = parent.find(".collapsed");
28    var useDelimetr = parent.hasClass("header-menu__wide-submenu--delimiter");
29    var lastSeparator = parent.find(".last-visible");
30
31    if (collapsed.length) {
32      if (useDelimetr) {
33        collapsed.fadeToggle(200);
34        if (lastSeparator.length) lastSeparator.fadeToggle(200);
35      } else {
36        collapsed.slideToggle(200);
37      }
38
39      if (bOpened) {
40        childSpan.text(BX.message("SHOW") + ' ').append(childSvg);
41      } else {
42        childSpan.text(BX.message("HIDE") + ' ').append(childSvg);
43      }
44      _this.toggleClass("opened");
45    }
46  });
47  
48  $(document).on("click", '.header-menu__link--only-catalog', function (e) { 
49    e.preventDefault();
50    let catalogButton = $(this);
51    let curSvg = catalogButton.find('use').attr('xlink:href');
52    if (catalogButton.hasClass("opened")) {
53      catalogButton.removeClass('opened');
54      catalogButton.find('use').attr('xlink:href', curSvg.replace('#close', '#burger'));
55    } else {
56      catalogButton.addClass('opened');
57      catalogButton.find('use').attr('xlink:href', curSvg.replace('#burger', '#close'));
58      onlyCatalogMenuOpen(catalogButton);
59    }
60  });
61
62  $(document).on("click", 'body', function (e) {
63    let catalogButton = $('.header-menu__link--only-catalog.opened');
64    
65    if(catalogButton.length && !$(e.target).closest('.header-menu__wrapper').length){
66      onlyCatalogMenuClose();
67    }
68  });
69
70  onlyCatalogMenuClose = function () { 
71    let catalogButton = $('.header-menu__link--only-catalog.opened');
72
73    if (catalogButton.length) {
74      let curSvg = catalogButton.find('use').attr('xlink:href');
75      catalogButton.removeClass('opened');
76      catalogButton.find('use').attr('xlink:href', curSvg.replace('#close', '#burger'));
77    }
78  }
79
80  onlyCatalogMenuOpen = function (catalogButton) {
81    var menuNLO = catalogButton.siblings("[data-nlo]");
82
83    if (menuNLO.length) {
84      if (!menuNLO.hasClass("nlo-loadings")) {
85        menuNLO.addClass("nlo-loadings");
86        var menuCatalog = $(".header-menu__link--only-catalog ~ .header-menu__dropdown-menu");
87        if(menuCatalog.length){
88          menuNLO.replaceWith(menuCatalog.clone());        
89          catalogButton.parent().find('.aim-init').removeClass('aim-init');
90          if (funcDefined("InitMenuNavigationAim")) {
91            InitMenuNavigationAim();
92          }
93        } else {
94          var buttonTitle = catalogButton.find(".header-menu__title");
95          buttonTitle.addClass("loadings");
96          $.ajax({
97            data: { nlo: menuNLO.attr("data-nlo") },
98            error: function () {
99              menuNLO.removeClass("nlo-loadings");
100            },
101            complete: function (jqXHR, textStatus) {
102              if (textStatus === "success" || jqXHR.status == 404) {
103                var ob = BX.processHTML($.trim(jqXHR.responseText));
104                BX.ajax.processScripts(ob.SCRIPT);
105                menuNLO.replaceWith(ob.HTML);
106                if (funcDefined("InitMenuNavigationAim")) {
107                  InitMenuNavigationAim();
108                }
109              }
110              buttonTitle.removeClass("loadings");
111            },
112          });
113        }
114      }
115    }
116  };
117
118  BX.addCustomEvent("onAjaxChangeWidgetValue", function (eventdata) {
119    if (eventdata && eventdata["NAME"] === "PAGE_WIDTH") {
120      if (funcDefined("CheckTopMenuDotted")) {
121        CheckTopMenuDotted();
122      }
123    }
124  });
125  
126});

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.