PageSourceSearch

https://wigner.hu/themes/business_d8/js/mobile_menu.js?v=8.9.20

js wigner.hu collected 2026-10-02 04:15:39 UTC 4,717 bytes, 147 lines download raw bytes

1(function($) {
2
3    "use strict";
4
5    $.fn.mobileMenu = function(options) {
6
7        var settings = $.extend({
8            pageSelector: '#page',
9            targetWrapper: '#main-menu',
10            targetMenu: '.block-menu',
11            accordion: 'false'
12        }, options);
13
14		// if ($(window).width() <= 991) {
15        if ($(window).width() <= 1200) {
16            $(settings.targetWrapper).addClass('mobile-main-menu');
17        }
18        $(window).resize(function() {
19            //if ($(window).width() <= 991) {
20			if ($(window).width() <= 1200) {
21                $(settings.targetWrapper).addClass('mobile-main-menu');
22            } else {
23                $(settings.targetWrapper).removeClass('mobile-main-menu');
24                $('body').css('overflow', 'visible');
25                $(settings.pageSelector).removeClass('toggled');
26                $(settings.pageSelector).find('.overlay').remove();
27                $(settings.pageSelector).css('position', '');
28            }
29        });
30
31        var toggleButton = this;
32        this.once('load').on('click', function(e) {
33            var wrapper = $(settings.pageSelector);
34            if (!wrapper.hasClass('toggled')) {
35                wrapper.addClass('toggled').css('position', 'relative');
36                $(settings.targetWrapper).addClass('mobile-main-menu');
37                if (wrapper.find('.overlay').length == 0) {
38                    var overlay = $('<div class="overlay"></div>');
39                    overlay.prependTo(wrapper);
40                    overlay.click(function() {
41                        toggleButton.trigger('click');
42                    });
43                    $('body').css('overflow', 'hidden');
44                }
45
46            } else {
47                var overlay = wrapper.find('.overlay');
48                wrapper.css({
49                    'width': '',
50                    'position': ''
51                });
52                wrapper.removeClass('toggled');
53
54                if (overlay.length > 0) {
55                    overlay.remove();
56                    $('body').css('overflow', '');
57                }
58            }
59            e.preventDefault();
60            e.stopPropagation();
61        });
62
63        $('.btn-close').once('btn-close').on('click', function(e) {
64            toggleButton.trigger('click');
65            e.preventDefault();
66            return false;
67        });
68    }
69
70    $.fn.accordionMenu = function() {
71
72        this.find('.content > ul.menu > li.expanded > ul.menu').each(function() {
73            var $ele = $(this);
74            var $link = $ele.prev();
75            if ($link.hasClass('active') || $link.hasClass('active-trail')) {
76                $ele.parent().addClass('open');
77                $link.addClass('active');
78                $ele.wrap('<div class="submenu-wrap" style="overflow:hidden;height:auto;position:relative;"></div>');
79                console.log($link);
80            } else {
81                console.log($ele);
82                $ele.wrap('<div class="submenu-wrap" style="overflow:hidden;height:0;position:relative;"></div>');
83            }
84        });
85
86        this.find('.content > ul.menu > li.expanded > a').on('click', function(e) {
87            var $li = $(this).parent();
88
89            if (!$li.hasClass('open')) {
90                collapse($(this));
91                expand($(this));
92                e.preventDefault();
93            }
94            e.stopPropagation();
95        });
96
97        return this;
98    };
99
100    function expand(ele) {
101        var $li = ele.parent();
102        var menuHeight = getMenuHeight($li.find('ul.menu'));
103
104        ele.addClass('active');
105        $li.find('a.active-trail').addClass('active');
106        $li.toggleClass('open');
107        $li.find('div.submenu-wrap').animate({
108            height: menuHeight
109        });
110    }
111
112    function collapse(ele) {
113        var $li = ele.parent();
114        var $oldLi = $li.parent().find('li.open').removeClass('open');
115
116        $oldLi.find('div.submenu-wrap').animate({
117            height: 0
118        });
119        $oldLi.find('a.active').removeClass('active');
120    }
121
122    //Helper
123    function getMenuHeight(ele) {
124        var $ele = $(ele),
125            height = "auto";
126        if ($ele.is(":visible")) {
127            height = $ele.outerHeight();
128        } else {
129            var tmp = {
130                position: $ele.css("position"),
131                visibility: $ele.css("visibility"),
132                display: $ele.css("display")
133            };
134
135            height = $ele.css({
136                position: 'absolute',
137                visibility: 'hidden',
138                display: 'block'
139            }).outerHeight();
140
141            $ele.css(tmp); // reset element
142        }
143
144        return height;
145    }
146
147}(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.