PageSourceSearch

https://medispatechnology.ru/bitrix/templates/dresscodeV2/js/topMenu.js?16841482842693

js medispatechnology.ru collected 2026-09-28 22:53:41 UTC 2,693 bytes, 107 lines download raw bytes

1$(function(){
2	
3	var __menuSelector    = "#topMenu";
4	var __menuBarClass    = "bar";
5	var __menuSubClass    = "sub";
6	var __menuActiveClass = "active";	
7
8	var createMenu = function(event){
9
10		// @event.data.reducedWidth
11		// @event.data.maxMenuWidth
12
13		var	$_self = $(__menuSelector),
14			$_list = $_self.children("li:not(." + __menuBarClass + ")"),
15			$_bar  = $_self.find("." + __menuBarClass),
16			$_sub  = $_self.find("." + __menuSubClass),
17			_enableBar = $_bar.length > 0 ? 1 : 0,
18			_transElements = $_self.hasClass("transfered") ? 1 : 0;
19
20		var $fn_createBar = function(){
21
22			$_self.append(
23				$("<li/>").addClass(__menuBarClass).append(
24					$("<a/>").attr("href", "#").addClass("openEnder")
25				).append(
26					$("<ul/>").addClass(__menuSubClass)
27				)
28			);
29
30			$_bar = $_self.find("." + __menuBarClass);
31			$_sub = $_bar.find("." + __menuSubClass);
32
33			return _enableBar++;
34		};
35
36		var $fn_elementsCopy = function(toggle){
37
38			if(toggle === false){
39				$_self.addClass("transfered").children("li").each(function(i){
40					var $_this = $(this);
41					if(!$_this.hasClass(__menuBarClass)){
42						$_sub.append($_this.clone());
43						$_this.remove();
44					}
45				});
46
47				return _transElements++;
48
49			}else{
50				$_sub.children("li").each(function(i){
51					var $_this = $(this);
52					if(!$_this.hasClass(__menuBarClass)){
53						$_self.append($_this.clone());
54						$_this.remove();
55					}
56				});
57				$_self.removeClass("transfered");
58				$_bar.remove();
59				
60				$_list = $_self.children("li:not(." + __menuBarClass + ")");
61			
62				return _transElements-- - _enableBar--;
63			}
64		};
65
66		if(document.body.clientWidth <= event.data.reducedWidth){
67			!_enableBar && $fn_createBar();
68			!_transElements && $fn_elementsCopy(false);
69		}else{
70			if(_transElements){
71				$fn_elementsCopy(true);
72			}
73
74			if($_self.outerWidth() > event.data.maxMenuWidth){
75				for (var i = $_list.length - 1; i >= 0; i--) {
76					var $_this = $_list.eq(i);
77					if($_self.outerWidth() <= event.data.maxMenuWidth){
78						break;
79					}else{
80						!_enableBar && $fn_createBar();
81						$_sub.prepend($_this.clone());
82						$_this.remove();
83					}
84				};
85			}
86		}
87	};
88
89	var openMenu = function(event){
90		$(this).closest("." + __menuBarClass).toggleClass(__menuActiveClass);
91		event.preventDefault();
92	};
93
94	var closeMenu = function(event){
95		$("#topMenu ." + __menuBarClass).removeClass(__menuActiveClass);
96	};
97
98	$(window).on("ready resize", {
99		reducedWidth: 1250,
100		maxMenuWidth: 800
101	}, createMenu);
102	
103	$(document).on("click", "#topMenu ." + __menuBarClass, function(event){event.stopImmediatePropagation();});
104	$(document).on("click", "#topMenu .openEnder", openMenu);
105	$(document).on("click", "html", closeMenu);
106
107});

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.