PageSourceSearch

https://www.beavercreekreserve.org/js/menu.js?v=1468967011

js beavercreekreserve.org collected 2026-10-04 00:26:10 UTC 11,075 bytes, 247 lines download raw bytes

1/**
2 * Create an anonymous function to avoid library conflicts
3 */
4(function($) {
5    /**
6     * Add our plugin to the jQuery.fn object
7     */
8    $.fn.responsiveMenu = function(options) {
9        /**
10         * Define some default settings
11         */
12
13        $.fn.responsiveMenu.defaultOptions = {
14            "menuIcon_text": '',
15			"menuslide_overlap":false,
16            "menuslide_push":false,
17            "menuslide_direction":''
18        };
19        /**
20         * Merge the runtime options with the default settings
21         */
22        var options = $.extend({}, $.fn.responsiveMenu.defaultOptions, options);
23        /**
24         * Iterate through the collection of elements and
25         * return the object to preserve method chaining
26         */
27        return this.each(function(i) {
28            var menuobj = $(this);
29            var mobileSubMenu;
30            var subMenuArrows;
31            var mobFlag = false;
32            var deskFlag = false;
33            var defaultMenu = false;
34            createMobileStructure(menuobj);
35            mobileMenuInit(menuobj);
36            addMiddle(menuobj);
37
38            function addMiddle(menuobj) {
39              $('<li></li>').insertAfter(menuobj.find('>li:eq(2)'));
40            }
41
42            function removeDesktopMenu(menuobj) {
43                menuobj.removeClass('desk');
44                mobileSubMenu.next().stop(true, true).slideUp();
45                subMenuArrows.removeClass('up');
46                if(defaultMenu){
47                    menuobj.slideUp();
48                }
49                menuobj.find(".menu-icon").removeClass('active');
50            }
51
52            function createMobileStructure(menuobj) {
53                if (menuobj.prev('.menu-icon').length == 0) {
54                    menuobj.wrapAll('<div class="enumenu_container"><div class="of-scroll"></div></div>');
55                    //$('<div class="menu-icon">' + options.menuIcon_text + '</div>').insertBefore(menuobj);
56                    $('<div class="menu-icon"> <div class="menu-box"><span></span><span></span><span></span> </div>' + options.menuIcon_text + '</div>').insertBefore(menuobj);
57                    //menuobj.find('ul').prev('a').addClass('menubelow');
58                    $("> li > a", menuobj).addClass("firstLevel");
59                    menuobj.find("li").each(function() {
60                        if ($(this).children("ul") || $(this).children("div")) {
61                            $(this).children().prev('a').addClass('menubelow');
62                        }
63                    });
64                }
65                mobileSubMenu = menuobj.find('a.menubelow');
66                if (menuobj.find('.arrow').length == 0) {
67                    mobileSubMenu.each(function() {
68                        $(this).closest('li').prepend('<span class="arrow"></span>');
69                        $(this).next().addClass("sb-menu");
70                    });
71                    subMenuArrows = menuobj.find('.arrow');
72                }
73                
74                
75                if(options.menuslide_overlap){
76                    $('body').addClass('menuOverlap');
77                   
78                } else if(options.menuslide_push){
79                    $('body').addClass('menuslide_push');
80                    
81                }
82                //console.log(options.menuslide_direction);
83                if((options.menuslide_overlap || options.menuslide_push) && options.menuslide_direction==""){
84                    //console.log("IF");
85                    $('body').addClass('slidemenuRight');
86                }
87                if(options.menuslide_direction=="left"){
88                    $('body').addClass('slidemenuLeft');
89                    
90                }else if(options.menuslide_direction=="right"){
91                    $('body').addClass('slidemenuRight');
92                    
93                }
94            }
95
96            function bindClickonMobilemenu(menuobj) {
97                menuobj.find('.arrow').on('touchstart click', function(e) {
98                    e.stopImmediatePropagation();
99                    e.preventDefault();
100                    var submenu = $(this).closest('li').children('.sb-menu');
101                    var sibilingsOfCurrent_obj = $(this).closest('li').siblings();
102                    var this_parentLi = $(this).closest('li');
103                    if ($(".menu-icon").is(":visible")) {
104                        if (submenu.length > 0) {
105                            sibilingsOfCurrent_obj.find('.sb-menu').stop(true, true).slideUp(); // comment to close
106                            sibilingsOfCurrent_obj.find('.sb-menu').each(function() {
107                                $(this).closest('li').find('>span').removeClass('up'); // 
108                            });
109                        }
110                        if (!submenu.is(':visible')) {
111                            submenu.find('.sb-menu').each(function() {
112                                $(this).stop().slideUp();
113                                $(this).closest('li').find('span').removeClass('up')
114                            });
115                            submenu.stop().slideDown();
116                            this_parentLi.find('>span').addClass('up');
117                        } else {
118                            submenu.slideUp();
119                            this_parentLi.find('>span').removeClass('up');
120                        }
121                    }
122                });
123            }
124
125            function removeMobileMenu(menuobj) {
126                menuobj.find('.menubelow').each(function() {
127                    $(this).removeAttr('style');
128                    $(this).next().removeAttr('style');
129                });
130                menuobj.find('.arrow').remove();
131                menuobj.prev(".menu-icon").removeClass('active');
132                menuobj.addClass('desk').removeAttr("style");
133                menuobj.removeAttr("style");
134                $("body").removeClass("menu-open");
135                deskFlag = false;
136            }
137
138            $(window).resize(function(e) {
139                mobileMenuInit(menuobj);
140            });
141
142            function mobileMenuInit(menuobj) {
143                if((options.menuslide_overlap == false && options.menuslide_push == false) || (options.menuslide_overlap == true && options.menuslide_push == true)){
144                   defaultMenu = true; 
145                }
146                if ($(".menu-icon").is(":visible")) {
147                    if (!mobFlag) {
148                        removeDesktopMenu(menuobj);
149                        createMobileStructure(menuobj);
150                        bindClickonMobilemenu(menuobj);
151                        mobFlag = true;
152                        deskFlag = false;
153                        menuobj.removeClass('desk');
154                        $('body').removeClass('desk');
155                        menuobj.addClass('mob');
156                        $('body').addClass('mob');
157                    }
158                } else {
159                    if (!deskFlag) {
160                        removeMobileMenu(menuobj);
161                        mobFlag = false;
162                        deskFlag = true;
163                        menuobj.removeClass('mob');
164                        $('body').removeClass('mob');
165                        menuobj.addClass('desk');
166                        $('body').addClass('desk');
167
168                    }
169                }
170            }
171            // Toggle menu
172            menuobj.prev(".menu-icon").on('click', function(e){
173            //$(document).on('click', ".menu-icon", function(e) {
174                e.stopPropagation();
175                e.preventDefault();
176                if ($(this).hasClass('active')) {
177                    closeMobileMenu(menuobj);
178                } else {
179                    if(defaultMenu){
180                        $(this).next().slideDown();
181                    }
182                    $(this).addClass("active");
183                    $("body").addClass("menu-open");
184                }
185            });
186            $('body').on('click touchstart', function(e) {
187                if ($(".menu-icon").is(":visible")) {
188                    if ($(e.target).closest(".enumenu_container").length == 0 && !$(e.target).hasClass('active')) {
189                        closeMobileMenu(menuobj);
190                    }
191                }
192            });
193
194            function closeMobileMenu(menuobj) {
195                $("body").removeClass("menu-open");
196                if(defaultMenu){
197                    menuobj.stop().slideUp();
198                }
199                menuobj.prev(".menu-icon").removeClass('active');
200                menuobj.find('.arrow').removeClass('up');
201                menuobj.find('.sb-menu').stop(true, true).slideUp();
202            }
203
204                if ( 'ontouchstart' in window ) {
205
206                    //$(".enumenu_ul > li > a, .enumenu_ul.desk li > ul > li > a").click(function(e) {
207                    menuobj.find("a").click(function(e) {
208                            if (!$(this).hasClass("link") && !$("body").hasClass("mob") && $(this).next().length > 0) {
209                                e.preventDefault();
210                                if ($(this).hasClass("firstLevel")) {
211                                    menuobj.find("a").removeClass("link");
212                                    menuobj.find("a").parent().removeClass("hover");
213                                }
214                                $(this).addClass("link");
215                                $(this).parent().addClass('hover');
216                            }
217                    })
218                    $('body').on('click touchstart', function(e) {
219                        if ($(e.target).closest(".enumenu_container").length == 0) {
220                            menuobj.find("a").each(function(){
221                                $(this).removeClass("link");
222                                $(this).parent().removeClass("hover");
223                            });
224                        }
225                    });
226                    /*$("body > div").on('click', function(e) {
227                        if ($(e.target).closest(".enumenu_container").length == 0) {
228                            menuobj.find("a").each(function(){
229                                $(this).removeClass("link");
230                                $(this).parent().removeClass("hover");
231                            });
232                            
233                        }
234                    });*/
235                } else {
236                    
237                    menuobj.find("li").mouseenter(function() {
238                        $(this).addClass('hover');
239                    });
240                    menuobj.find("li").mouseleave(function() {
241                        $(this).removeClass('hover');
242                    });
243                }
244        
245        });
246    };
247})(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.