PageSourceSearch

https://tiga.by/wp-content/themes/tzshka/js/scripts.js

js tiga.by collected 2026-10-02 18:49:41 UTC 7,682 bytes, 255 lines download raw bytes

1(function($) {
2$(function() {
3
4	/* === Mobile Menu === */
5	var menuToggle = 'button.header__menu-toggle';
6	var navToMenu = 'div.header__menu';
7
8	if ( $(navToMenu).length ) {
9		$(menuToggle).click(function() {
10			$('html').addClass('menu-active');
11		});
12
13		$('body').append('<div class="menu-overlay"></div><div class="menu"><div class="menu__inner">' + $(navToMenu).html() + '</div></div>');
14
15		var menu = $('div.menu__inner')
16			.before('<div class="menu__close"></div>')
17			.prepend('<div class="menu__topbar"><div class="menu__back"></div><div class="menu__title"></div></div>')
18		;
19		$('div.menu-overlay, div.menu__close').click(function() {
20			$('html').removeClass('menu-active');
21		});
22
23		var topbar = $('div.menu__topbar', menu);
24		var back = $('div.menu__back', menu);
25		var title = $('div.menu__title', menu);
26
27		menu
28			.find('li').removeAttr('class id').end()
29			.find('ul')
30				.removeAttr('class id')
31				.addClass('menu__item')
32				.first().addClass('menu__topmenu active').attr('id', 'm-0')
33			.find('a:not(:last-child)').each(function(i) {
34				i++;
35				var link = $(this);
36				var submenu = link.next('ul').removeClass('sub-menu').addClass('menu__submenu').attr('id', 'm-' + i);
37				var parent = submenu.closest('li').closest('ul').attr('id');
38				submenu.data('parent', parent);
39				link.after('<div class="menu__show-submenu" data-id="m-' + i + '"></div>');
40			})
41		;
42		menu.find('ul').appendTo(menu);
43		menu.find('ul.menu__item:not(.menu__topmenu):not(.menu__submenu)').each(function() {
44			menu.find('ul.menu__topmenu').append( $(this).html() );
45			$(this).remove();
46		});
47		menu.find('nav').remove();
48		menu
49			.on('click', 'div.menu__show-submenu', function() {
50				topbar.addClass('active');
51				var arrow = $(this);
52				arrow.closest('ul').removeClass('active').addClass('hidden');
53				var id = arrow.data('id');
54				$('#' + id).addClass('active');
55				var parent = $('#' + id).data('parent');
56				back.data('show', parent).data('hide', id);
57				title.text( arrow.siblings('a').text() );
58			})
59			.on('click', 'div.menu__back', function() {
60				var back = $(this);
61				var show = back.data('show');
62				var hide = back.data('hide');
63				if ( show === 'm-0' ) {
64					menu.find('ul.menu__topmenu').addClass('active');
65					topbar.removeClass('active');
66				}
67				back.data( 'show', $('#' + show).data('parent') ).data('hide', show);
68				title.text( menu.find('[data-id="' + show + '"]').siblings('a').text() );
69				$('#' + show).addClass('active').removeClass('hidden');
70				$('#' + hide).removeClass('active');
71			})
72		;
73	} // if (navToMenu)
74	/* === end of Mobile Menu === */
75
76	if ( $('div.popular__items').length ) {
77		$('div.popular__items').slick({
78			asNavFor: 'div.popular__thumbs',
79			arrows: false,
80			fade: true,
81			swipe: false,
82			adaptiveHeight: true,
83		});
84	}
85
86	if ( $('div.popular__thumbs').length ) {
87		$('div.popular__thumbs').slick({
88			asNavFor: 'div.popular__items',
89			arrows: false,
90			swipe: false,
91			autoplay: true,
92			autoplaySpeed: 5000,
93			slidesToShow: 4,
94			focusOnSelect: true,
95			responsive: [
96				{
97					breakpoint: 768,
98					settings: {
99						slidesToShow: 3,
100					}
101				},
102				{
103					breakpoint: 480,
104					settings: {
105						slidesToShow: 2,
106					}
107				},
108			],
109		});
110	}
111
112	$('button.js-ask-form').click(function() {
113		$('body').append('<div class="modal"><div class="loader"></div></div>');
114		var theme = $(this).data('theme');
115		var file = 'ajax-ask-form.php';
116		var modal = $('div.modal');
117		modal.css({visibility: 'visible'}).animate({opacity: 1}, 400, function() {
118			$('<div>').load('/wp-content/themes/' + theme + '/' + file, function(html) {
119				modal
120					.empty()
121					.append('<div class="modal-form  ask-form">' + html + '</div>');
122				var $form = modal.find('form');
123				wpcf7.initForm( $form );
124				if ( wpcf7.cached ) wpcf7.refill( $form );
125				$('div.ask-form input[type="file"]').wrap('<div class="ask-form__file"></div>').after('<div class="ask-form__file-name" data-text="Прикрепите файл">Прикрепите файл</div>');
126			});
127		});
128	});
129
130	$('body')
131		.on('click', 'div.modal', function() {
132			$('div.modal').fadeOut(function() {
133				$(this).remove();
134			});
135		})
136		.on('click', 'div.modal-form', function(e) {
137			e.stopPropagation();
138		})
139	;
140
141	$('body').on('change', 'div.ask-form__file input[type="file"]', function() {
142		var el = $(this);
143		var value = el.val();
144		var name = el.closest('div.ask-form__file').find('div.ask-form__file-name');
145		var placeholder = name.data('text');
146		name.text(value.replace(/.+[\\\/]/, '')).addClass('changed');
147		if (value === '') {
148			name.text(placeholder).removeClass('changed');
149		}
150	});
151
152	// ajax posts
153	if ( $('div.more').length ) {
154		$('body').on('click', 'div.more__button:not(.loading)', function() {
155			var more = $(this);
156			var container = $(this).closest('div.more').prev('div.ajax-items');
157			var defaultText = more.html();
158			var offset = more.data('offset');
159			var items = more.data('items');
160			var max = more.data('max');
161			var theme = more.data('theme');
162			var query = 'offset=' + offset + '&items=' + items;
163			if (more.data('cat')) query = query + '&cat=' + more.data('cat');
164			if (more.data('search')) query = query + '&s=' + more.data('search');
165			more.addClass('loading').text( more.data('loading') );
166			$.ajax({
167				url: '/wp-content/themes/' + theme + '/ajax-posts.php?' + query
168			}).done(function(html) {
169				container.append(html);
170				more.data('offset', offset + items).removeClass('loading').html(defaultText);
171				$('html, body').animate({scrollTop: $('div.ajax-items .js-item-scroll-to:last()').offset().top - 30 }, 700);
172				if ( more.data('offset') >= max ) more.parent().remove();
173			});
174		});
175	}
176
177});
178})(jQuery);
179
180//Пагинация добавить еще записи
181jQuery(document).on('click', '.city__more a', function () { 
182    
183    
184 
185 var scrollPosition = [
186  self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
187  self.pageYOffset || document.documentElement.scrollTop  || document.body.scrollTop
188];
189var html = jQuery('html'); // it would make more sense to apply this to body, but IE7 won't have that
190html.data('scroll-position', scrollPosition);
191html.data('previous-overflow', html.css('overflow'));
192//html.css('overflow', 'hidden');
193window.scrollTo(scrollPosition[0], scrollPosition[1]);
194
195
196
197var obj = jQuery(this);
198var pageall = obj.data('allpage')*1;
199var page = (1*obj.attr('data-page')+1);
200
201 
202
203
204if (page>=pageall) obj.parent().hide();
205else obj.parent().show();
206
207
208var city = obj.data('city');
209var service = obj.data('service');
210var limit = obj.data('limit');
211 
212
213
214 
215 jQuery('.company-list').css('opacity',0.6);
216 obj.addClass('active');
217 
218
219
220 var formData ='&page='+page;
221  formData +='&city='+city;
222  formData +='&service='+service; 
223  formData +='&limit='+limit;
224  formData +='&action=agregator_navkomp';
225
226 
227  jQuery.ajax({
228      url:ajax_url_web,
229      type:'POST',
230      data:formData,
231      dataType: "json",  
232      success: function(rec){
233
234  var rec = rec.data;
235  var html = rec.html;
236   
237    jQuery('.company-list').css('opacity',1);
238    obj.removeClass('active');
239  
240   jQuery('.company-list').append(html);
241   obj.attr('data-page',page);
242 
243 // un-lock scroll position
244var html = jQuery('html');
245var scrollPosition = html.data('scroll-position');
246//html.css('overflow', html.data('previous-overflow'));
247window.scrollTo(scrollPosition[0], scrollPosition[1])
248 
249  
250    } 
251 });
252
253
254  return false;
255  });

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.