PageSourceSearch

https://product.statnano.com/includes/templates/global/menu_v2/menu.js

js statnano.com collected 2026-10-02 05:38:26 UTC 2,547 bytes, 94 lines download raw bytes

1var device = 'desktop',
2	is_mobile = false;
3
4$(function() {
5	stack_menu();
6
7	var window_menu_resize_timer;
8	$(window).on('resize', function() {
9		clearTimeout(window_menu_resize_timer);
10		window_menu_resize_timer = setTimeout(function() {
11			stack_menu();
12		}, 2000)
13	})
14})
15
16var stack_menu = function() {
17	$('body').find('.global_hor_menu > ul').each(function() {
18		var _holder = $(this).parent();
19		if (_holder.attr('var') != undefined) {
20			var _stack_config = eval(_holder.attr('var'))
21
22			var wrapper_size = $(window).outerWidth(true);
23				stack_size = _stack_config;
24
25			if (typeof _stack_config == "object") {
26				if (_stack_config.wrapper != undefined) {
27					wrapper_size = $(_stack_config.wrapper).outerWidth(true);
28					stack_size = _stack_config.max;
29				}
30			}
31
32			if (wrapper_size < stack_size && $(window).outerWidth(true) > stack_size) {
33				var menu_wrapper = $(this);
34
35				if (menu_wrapper.find('.overelement').length > 0)
36					expand_menu();
37
38				var menu_li_width = 0;
39				menu_wrapper.find('>li').each(function() {
40					menu_li_width += $(this).outerWidth();
41				})
42
43				if (menu_wrapper.outerWidth() < menu_li_width) {
44					var overflow = (menu_li_width - menu_wrapper.outerWidth()) + 250
45						overflow_item_size = 0
46
47					$('>li', menu_wrapper).reverse().each(function() {
48						overflow_item_size += $(this).outerWidth();
49						if (overflow_item_size >= overflow) {
50							return false
51						}
52
53						$(this).addClass('over');
54					})
55					menu_wrapper.append('<li class="parent overelement"><a mticon>more_horiz</a><ul></ul></li>');
56					menu_wrapper.find('.over').appendTo(menu_wrapper.find('.overelement ul'))
57				}
58			}
59			else {
60				expand_menu();
61			}
62		}
63	})
64}
65
66var expand_menu = function() {
67	$('body').find('.global_hor_menu > ul').each(function() {
68		var _holder = $(this).parent();
69		if (typeof eval(_holder.attr('var')) != 'undefined') {
70			var _stack_config = eval(_holder.attr('var')) || 0;
71
72			var wrapper_size = $(window).outerWidth(true);
73				stack_size = _stack_config;
74
75			if (typeof _stack_config == "object") {
76				if (_stack_config.wrapper != undefined) {
77					wrapper_size = $(_stack_config.wrapper).outerWidth(true);
78					stack_size = _stack_config.max;
79				}
80			}
81
82			if (wrapper_size < stack_size) {
83				var menu_wrapper = $(this);
84				menu_wrapper.find('.overelement > ul > li').appendTo(menu_wrapper);
85				menu_wrapper.find('li.over').removeClass('over');
86				menu_wrapper.find('.overelement').remove();
87			}
88		}
89	})
90}
91
92$.fn.reverse = function() {
93	return this.pushStack(this.get().reverse());
94}

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.