PageSourceSearch

https://www.taxand.com/wp-content/themes/taxand/js/side-menu.js

js taxand.com collected 2026-10-02 10:58:59 UTC 4,581 bytes, 153 lines download raw bytes

1function SideMenu()
2{
3	// Don't forget to call initialise()
4	
5	this.isOpen = false;
6}
7
8SideMenu.prototype.initialise = function()
9{
10	var screenWidth = jQuery( window ).width();
11	
12	jQuery( 'div#header-menu-hamburger-menu' ).unbind( 'click', jQuery.proxy(this.toggleMenu, this) );
13	jQuery( 'div#header-menu-hamburger-menu' ).click( jQuery.proxy(this.toggleMenu, this) );
14	jQuery( window ).resize( jQuery.proxy(this.resizeWindow, this) );
15	
16	jQuery( 'div#fadeout' ).css( 'display', 'none');
17	
18	jQuery( 'div#side-menu' ).css( 'left', screenWidth);
19	
20	jQuery( 'ul#menu-side-menu > li > ul.sub-menu' ).each(
21		function (index, object)
22		{
23			if (this.parentElement.className.indexOf('current-menu-parent') == -1)
24			{
25				jQuery( this ).slideUp();
26			}
27		}
28	);
29	
30	jQuery( 'ul#menu-side-menu > li.menu-item-has-children' ).each(
31		function ()
32		{
33			var id = this.id;
34			
35			var id = id.substring(10);
36			
37			var image_id = 'side-menu-image-' + id;
38			
39			var html = ""; 
40			
41			if (this.className.indexOf('current-menu-parent') > -1)
42			{
43				html = "<div id='" + image_id + "' class='side-menu-image'><img id='" + image_id + "' class='side-menu-image' src='" + window.taxand_url + "/wp-content/themes/taxand/assets/images/icons/Submenu_Up_Red.svg' alt='Toggle Menu' /></div>";
44			}
45			else
46			{
47				html = "<div id='" + image_id + "' class='side-menu-image'><img id='" + image_id + "' class='side-menu-image' src='" + window.taxand_url + "/wp-content/themes/taxand/assets/images/icons/Submenu_Down_Red.svg' alt='Toggle Menu' /></div>";
48			}
49			
50			jQuery( 'li#menu-item-' + id + ' > a:eq(0)').after( html );
51		}
52	);
53	
54	jQuery( 'ul#menu-side-menu > li.menu-item-has-children' ).click(
55		function (event)
56		{
57			var id = this.id;
58			var id = id.substring(10);
59			
60			var submenu = jQuery( 'li#menu-item-' + id + ' > ul');
61			
62			if (submenu.is(':visible'))
63			{
64				submenu.slideUp();
65				jQuery( 'img#side-menu-image-' + id).attr('src', window.taxand_url + "/wp-content/themes/taxand/assets/images/icons/Submenu_Down_Red.svg");
66			}
67			else
68			{
69				jQuery( 'img#side-menu-image-' + id).attr('src', window.taxand_url + "/wp-content/themes/taxand/assets/images/icons/Submenu_Up_Red.svg");
70				submenu.slideDown();
71		    }
72		}
73	);
74};
75
76SideMenu.prototype.resizeWindow = function()
77{
78	var screenWidth = jQuery( window ).width();
79	var menuWidth = jQuery( 'div#side-menu' ).width();
80	
81	if (this.isOpen)
82	{
83		jQuery( 'div#side-menu' ).css( 'left', screenWidth - menuWidth);
84	}
85	else
86	{
87		jQuery( 'div#side-menu' ).css( 'left', screenWidth);
88	}
89};
90
91SideMenu.prototype.open = function()
92{
93	var screenWidth = jQuery( window ).width();
94	var menuWidth = jQuery( 'div#side-menu' ).width();
95	var menuLeft = jQuery( 'div#side-menu' ).css( 'left' );
96	
97	if (this.isOpen == false)
98	{
99		this.isOpen = true;
100		
101		jQuery( 'div#fadeout' ).css( 'opacity', 0 );
102		jQuery( 'div#fadeout' ).css( 'display', 'block' );
103		jQuery( 'div#fadeout' ).animate( { opacity: 0.5 }, 500);
104		jQuery( 'div#fadeout' ).unbind( 'click', jQuery.proxy(this.toggleMenu, this) );
105		jQuery( 'div#fadeout' ).click( jQuery.proxy(this.toggleMenu, this) );
106		
107		jQuery( 'div#side-menu' ).css( 'display', 'block' );
108		jQuery( 'div#side-menu' ).animate( { left:screenWidth - menuWidth }, 500);
109	}
110};
111
112SideMenu.prototype.close = function()
113{
114	var screenWidth = jQuery( window ).width();
115	var menuWidth = jQuery( 'div#side-menu' ).width();
116	var menuLeft = jQuery( 'div#side-menu' ).css( 'left' );
117	
118	if (this.isOpen == true)
119	{
120		this.isOpen = false;
121		
122		jQuery( 'div#fadeout' ).animate( { opacity: 0 }, 500, function () { jQuery( 'div#fadeout' ).css( 'display', 'none' ); } );
123		jQuery( 'div#fadeout' ).unbind( 'click', jQuery.proxy(this.toggleMenu, this) );
124		jQuery( 'div#side-menu' ).animate( { left:screenWidth }, 500, function () { jQuery( 'div#fadeout' ).css( 'display', 'none' ); });
125	}
126};
127
128SideMenu.prototype.toggleMenu = function(event)
129{
130	var screenWidth = jQuery( window ).width();
131	var menuWidth = jQuery( 'div#side-menu' ).width();
132	var menuLeft = jQuery( 'div#side-menu' ).css( 'left' );
133	
134	if (this.isOpen == false)
135	{
136		window.search.close();
137		
138		this.open();
139	}
140	else
141	{
142		this.close();
143	}
144};
145
146SideMenu.prototype.removeFadeoutEventHandler = function()
147{
148	var screenWidth = jQuery( window ).width();
149	
150	this.isOpen = false;
151	jQuery( 'div#side-menu' ).animate( { left:screenWidth }, 500);
152	jQuery( 'div#fadeout' ).unbind( 'click', jQuery.proxy(this.toggleMenu, this) );
153};

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.