PageSourceSearch

https://icearenamsk.ru/local/components/bquadro/colosseo.afisha.index/templates/v2/script.js?17554994594259

js icearenamsk.ru collected 2026-10-02 18:34:53 UTC 4,259 bytes, 113 lines download raw bytes

1(function ($) {
2    document.addEventListener('DOMContentLoaded', function () {
3        const tab = function () {
4            const tabItem = document.querySelectorAll(".cs-v2__tab-item");
5            const tabItemTitle = document.querySelectorAll(".cs-v2__tab-item-title");
6            const eventList = document.querySelectorAll(".cs-v2__event-list");
7
8            let tabName = "";
9
10            tabItem.forEach(item => {
11                item.addEventListener("click", selectTabItem);
12            });
13
14            // slick
15            function slickCarousel() {
16                if (window.innerWidth >= 768 && $('.cs-v2__event-list--active').length > 0) {
17                    $('.cs-v2__event-list--active').slick({
18                        infinite: true,
19                        slidesToShow: 3,
20                        slidesToScroll: 1,
21                        variableWidth: true,
22                        centerPadding: '30px',
23                        arrows: true,
24                        responsive: [
25                            {
26                                breakpoint: 1482,
27                                settings: {
28                                    slidesToShow: 1,
29                                    slidesToScroll: 1,
30                                    variableWidth: true,
31                                    centerMode: true,
32                                }
33                            }
34                        ]
35                    });
36                } else {
37                    destroyCarousel();
38                }
39            }
40
41            function destroyCarousel() {
42                if ($('.cs-v2__event-list--active').hasClass('slick-initialized')) {
43                    $('.cs-v2__event-list--active').slick('destroy');
44                }
45            }
46
47            function selectTabItem() {
48                destroyCarousel();
49                tabItem.forEach(item => {
50                    item.classList.remove("cs-v2__tab-item--active");
51                });
52                tabItemTitle.forEach(title => {
53                    title.classList.remove("cs-v2__tab-item-title--active");
54                });
55
56                this.classList.add("cs-v2__tab-item--active");
57
58                let tabTile = this.querySelector(".cs-v2__tab-item-title");
59                tabTile.classList.add("cs-v2__tab-item-title--active");
60
61                tabName = this.getAttribute("data-tab-name");
62                selectTabContent(tabName);
63
64                function selectTabContent(tabName) {
65                    eventList.forEach(item => {
66                        item.classList.contains(tabName)
67                            ? item.classList.add("cs-v2__event-list--active")
68                            : item.classList.remove("cs-v2__event-list--active");
69                    });
70                }
71
72                slickCarousel();
73            }
74
75            slickCarousel();
76            window.addEventListener('resize', slickCarousel);
77        };
78        tab();
79    });
80
81    $(document).on(
82        'click',
83        '.cs-v2__event-item.has-sub-events:visible .cs-v2__event-buttons .cs-v2__event-btn.cs-v2__event-btn--second',
84        function () {
85            let $that = $(this);
86            let $parent = $that.parents('.cs-v2__event-item.has-sub-events:visible:first');
87            let $modal = $('.modal-sub-events-for-slider[data-modal-id="sub_items_' + $parent.data('id') + '"]');
88
89            if ($modal.hasClass('active')) {
90                $modal.removeClass('active');
91            } else {
92                $modal.addClass('active');
93            }
94
95            return false;
96        });
97
98    $(document).on('click', '.modal-sub-events-for-slider:visible [data-action="close_modal_sub_events"]', function () {
99        let $modal = $('.modal-sub-events-for-slider:visible');
100
101        if ($modal.hasClass('active')) {
102            $modal.removeClass('active');
103        }
104    });
105
106    $(document).on('click', '.modal-sub-events-for-slider:visible', function (ev) {
107        let $target = $(ev.target);
108
109        if (!$target.parents('.modal-sub-events__content').length && !$target.hasClass('modal-sub-events__content')) {
110            $('.modal-sub-events-for-slider:visible').removeClass('active');
111        }
112    });
113})(jQuery)

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.