PageSourceSearch

https://blue-leopard-836417.hostingersite.com/wp-content/themes/dr…/assets/js/dro-sliding-menu.js?ver=20190901

js blue-leopard-836417.hostingersite.com collected 2026-10-03 04:14:00 UTC 4,582 bytes, 92 lines download raw bytes

1/**
2 * WordPress JQuery Mobile Menu
3 * 
4 * Inspired from JQuery Simple MobileMenu : https://github.com/Position2/jQuery-Simple-MobileMen
5 * 
6 */
7
8(function ($) {
9    var defaults = {
10                    "toggleMenuId"              :   "toggle-menu",
11                    "toggleMenuContainerId"     :   "toggle-menu-container",
12                    "toggleMenuContainerClass"  :   "toggle-menu-container-class",
13                    "wrapperClass"              :   "wp_mm_wrapper",
14                    "submenuClass"              :   "sub-menu",
15                    "bodyOverlayClass"          :   "body_overlay"
16    };
17    $.fn.droSlidingMenu = function (options) {
18        if ($(this).length === 0) { return this ;}
19        var droMenu = {}, ds = $(this);
20        var init = function () {
21            droMenu.settings = $.extend({}, defaults, options);
22            createWrappers();
23            createBackButton();
24            createRightNavButton();
25        },
26        createWrappers = function () {
27            droMenu.toggleControl           = $("<button/>", {"id": droMenu.settings.toggleMenuId,
28                                                 "html": "<span></span><span></span><span></span><span></span>"}),
29            droMenu.toggleControlContainer  = $("<div/>",{"id": droMenu.settings.toggleMenuContainerId,
30                                                  "class": droMenu.settings.toggleMenuContainerClass}),
31            droMenu.wrapperControl          = $("<div/>", {"class": droMenu.settings.wrapperClass});
32            droMenu.bodyOverlay             = $("<div/>", {"class": droMenu.settings.bodyOverlayClass});
33            ds.appendTo(droMenu.wrapperControl);
34            droMenu.toggleControl.prependTo(droMenu.toggleControlContainer);
35            droMenu.toggleControlContainer.prependTo($("#masthead"));
36            droMenu.bodyOverlay.add(droMenu.wrapperControl).appendTo($(".site"));
37        },
38        createRightNavButton = function () {
39            droMenu.wrapperControl.find("li.page_item_has_children , li.menu-item-has-children").each(function () {
40                var rightNavButton = $("<a/>", {"class": "ion-ios-arrow-forward forward"});
41                rightNavButton.prependTo($(this));
42            });
43        },
44        createBackButton = function () {
45            droMenu.wrapperControl.find("ul." + droMenu.settings.submenuClass).each(function () {
46                var dis         = $(this),
47                    disPar      = dis.closest("li"),
48                    disA        = disPar.find(">a"),
49                    disIconBack = $("<span/>", {"class": "ion-ios-arrow-left left"}),
50                    disBack     = $("<li/>", {"class": "back",
51                                      "html": "<a href='" + disA.attr('href') + "'>" + disA.text() + "</a>"});
52                disIconBack.prependTo(disBack);
53                disBack.prependTo(dis);
54            });
55        },
56        openCurrentPage = function(){
57            /**
58             * Syn the mobile menu with the current page
59             **/
60            droMenu.wrapperControl.find("li.current_page_item , li.current-menu-parent, li.current-menu-ancestor")
61                .addClass("active").siblings().removeClass("active");
62        },
63        toggleMobileMenu = function () {
64            $("#" + droMenu.settings.toggleMenuId).toggleClass("open");
65            $("." + droMenu.settings.bodyOverlayClass).toggleClass("enabled");
66            /*
67            * keep the current item opened
68            * to back to the home item add : .find("li.active").removeClass("active") 
69            */
70            $("." + droMenu.settings.wrapperClass).toggleClass("active");
71            $("body").toggleClass("wp_mm_enable");
72        },
73        showSubMenu = function (e) {
74            e.preventDefault();
75            $("." + droMenu.settings.wrapperClass).scrollTop(0);
76            $(this).parent().addClass("active").siblings().removeClass("active");
77        },
78        goBack = function (e) {
79            e.preventDefault();
80            $(this).closest("ul." + droMenu.settings.submenuClass).parent().removeClass("active");
81        };
82
83        init();
84        openCurrentPage();
85        droMenu.toggleControl.click(toggleMobileMenu);
86        droMenu.bodyOverlay.click(toggleMobileMenu);
87        droMenu.wrapperControl.find("li.page_item_has_children, li.menu-item-has-children > a.forward").click(showSubMenu);
88        droMenu.wrapperControl.find("li.back > span").click(goBack);
89    };
90})(jQuery);
91
92

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.