PageSourceSearch

https://polyalpan-msk.ru/dist/js/mobile-menu-panels.js?v=1

js polyalpan-msk.ru collected 2026-10-09 21:28:40 UTC 2,437 bytes, 65 lines download raw bytes

1document.addEventListener('DOMContentLoaded', function () {
2    var mobileMenu = window.matchMedia('(max-width: 768px)');
3
4    document.querySelectorAll('.menu__mob-arrow').forEach(function (arrow) {
5        arrow.addEventListener('click', function (event) {
6            if (!mobileMenu.matches) {
7                return;
8            }
9
10            event.preventDefault();
11            event.stopPropagation();
12            var item = arrow.closest('.menu__btn');
13            var panel = item ? item.querySelector('.menu__dropdown-submenu') : null;
14            if (panel) {
15                item.classList.add('menu__btn--open');
16                panel.classList.add('open-submenu');
17            }
18        });
19    });
20
21    document.querySelectorAll('.menu__back').forEach(function (backButton) {
22        backButton.addEventListener('click', function (event) {
23            event.preventDefault();
24            event.stopPropagation();
25            var panel = backButton.closest('.menu__dropdown-submenu');
26            var item = backButton.closest('.menu__btn');
27            if (panel) {
28                panel.classList.remove('open-submenu');
29                panel.querySelectorAll('.open-category-panel').forEach(function (categoryPanel) {
30                    categoryPanel.classList.remove('open-category-panel');
31                });
32            }
33            if (item) {
34                item.classList.remove('menu__btn--open');
35            }
36        });
37    });
38
39    document.querySelectorAll('.menu__category-arrow').forEach(function (arrow) {
40        arrow.addEventListener('click', function (event) {
41            if (!mobileMenu.matches) {
42                return;
43            }
44
45            event.preventDefault();
46            event.stopPropagation();
47            var item = arrow.closest('.menu__category-item');
48            var panel = item ? item.querySelector('.menu__category-panel') : null;
49            if (panel) {
50                panel.classList.add('open-category-panel');
51            }
52        });
53    });
54
55    document.querySelectorAll('.menu__category-back').forEach(function (backButton) {
56        backButton.addEventListener('click', function (event) {
57            event.preventDefault();
58            event.stopPropagation();
59            var panel = backButton.closest('.menu__category-panel');
60            if (panel) {
61                panel.classList.remove('open-category-panel');
62            }
63        });
64    });
65});

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.