PageSourceSearch

https://labkrotstroy.ru/assets/js/main.js?v=234

js labkrotstroy.ru collected 2026-10-08 14:34:48 UTC 16,471 bytes, 669 lines download raw bytes

1(function ($) {
2	"use strict";
3
4
5/*===========================================
6	=            Windows Load          =
7=============================================*/
8$(window).on('load', function () {
9    preloader();
10    wowAnimation();
11    aosAnimation();
12});
13
14
15/*===========================================
16	=            Preloader          =
17=============================================*/
18function preloader() {
19	$('#preloader').delay(0).fadeOut();
20};
21
22
23/*===========================================
24	=    		Mobile Menu			      =
25=============================================*/
26//SubMenu Dropdown Toggle
27if ($('.tgmenu__wrap li.menu-item-has-children ul').length) {
28	$('.tgmenu__wrap .navigation li.menu-item-has-children').append('<div class="dropdown-btn"><span class="plus-line"></span></div>');
29}
30
31//Mobile Nav Hide Show
32if ($('.tgmobile__menu').length) {
33
34	var mobileMenuContent = $('.tgmenu__wrap .tgmenu__main-menu').html();
35	$('.tgmobile__menu .tgmobile__menu-box .tgmobile__menu-outer').append(mobileMenuContent);
36
37	//Dropdown Button
38	$('.tgmobile__menu li.menu-item-has-children .dropdown-btn').on('click', function () {
39		$(this).toggleClass('open');
40		$(this).prev('ul').slideToggle(300);
41	});
42	//Menu Toggle Btn
43	$('.mobile-nav-toggler').on('click', function () {
44		$('body').addClass('mobile-menu-visible');
45	});
46
47	//Menu Toggle Btn
48	$('.tgmobile__menu-backdrop, .tgmobile__menu .close-btn').on('click', function () {
49		$('body').removeClass('mobile-menu-visible');
50	});
51};
52
53
54/*===========================================
55	=     Menu sticky & Scroll to top      =
56=============================================*/
57$(window).on('scroll', function () {
58	var scroll = $(window).scrollTop();
59	if (scroll < 245) {
60		$("#sticky-header").removeClass("sticky-menu");
61		$('.scroll-to-target').removeClass('open');
62        $("#header-fixed-height").removeClass("active-height");
63
64	} else {
65		$("#sticky-header").addClass("sticky-menu");
66		$('.scroll-to-target').addClass('open');
67        $("#header-fixed-height").addClass("active-height");
68	}
69});
70
71
72/*===========================================
73	=           Scroll Up  	         =
74=============================================*/
75if ($('.scroll-to-target').length) {
76  $(".scroll-to-target").on('click', function () {
77    var target = $(this).attr('data-target');
78    // animate
79    $('html, body').animate({
80      scrollTop: $(target).offset().top
81    }, 0);
82
83  });
84}
85
86
87/*===========================================
88	=          Data Background    =
89=============================================*/
90$("[data-background]").each(function () {
91	$(this).css("background-image", "url(" + $(this).attr("data-background") + ")")
92});
93
94$("[data-bg-color]").each(function () {
95	$(this).css("background-color", $(this).attr("data-bg-color"));
96});
97
98
99/*=============================================
100	=            Header Search            =
101=============================================*/
102$(".search-open-btn").on("click", function () {
103    $(".search__popup").addClass("search-opened");
104    $(".search-popup-overlay").addClass("search-popup-overlay-open");
105});
106$(".search-close-btn").on("click", function () {
107    $(".search__popup").removeClass("search-opened");
108    $(".search-popup-overlay").removeClass("search-popup-overlay-open");
109});
110
111/*=============================================
112=     Offcanvas Menu      =
113=============================================*/
114$(".menu-tigger").on("click", function () {
115	$(".offCanvas__info, .offCanvas__overly").addClass("active");
116	return false;
117});
118$(".menu-close, .offCanvas__overly").on("click", function () {
119	$(".offCanvas__info, .offCanvas__overly").removeClass("active");
120});
121
122/*=============================================
123	=        Slider Active		      =
124=============================================*/
125var sliderSwiper = new Swiper('.slider-active', {
126    spaceBetween: 0,
127    effect: "fade",
128    loop: true,
129    autoplay: {
130        delay: 6000,
131    },
132});
133
134
135/*=============================================
136	=        Slider Active Two	      =
137=============================================*/
138var sliderSwiper = new Swiper('.slider-active-two', {
139    spaceBetween: 0,
140    effect: "fade",
141    loop: true,
142    autoplay: {
143        delay: 6000,
144    },
145    // Navigation arrows
146    navigation: {
147        nextEl: ".slider-button-next",
148        prevEl: ".slider-button-prev",
149    },
150});
151
152/*=============================================
153	=        Slider Active Three		      =
154=============================================*/
155var sliderSwiper = new Swiper('.slider-active-three', {
156    spaceBetween: 0,
157    effect: "fade",
158    loop: true,
159    autoplay: {
160        delay: 6000,
161    },
162});
163
164
165/*=============================================
166	=        Project Active		      =
167=============================================*/
168var projectSwiper = new Swiper('.project-active', {
169    // Optional parameters
170    slidesPerView: 2,
171    spaceBetween: 24,
172    loop: true,
173    breakpoints: {
174        '1500': {
175            slidesPerView: 2,
176        },
177        '1200': {
178            slidesPerView: 2,
179        },
180        '992': {
181            slidesPerView: 2,
182        },
183        '768': {
184            slidesPerView: 2,
185        },
186        '576': {
187            slidesPerView: 1,
188        },
189        '0': {
190            slidesPerView: 1,
191        },
192    },
193    // Navigation arrows
194    navigation: {
195        nextEl: ".project-button-next",
196        prevEl: ".project-button-prev",
197    },
198});
199
200
201/*=============================================
202	=        Project Active Two	      =
203=============================================*/
204var projectTwoSwiper = new Swiper('.project__active-two', {
205    spaceBetween: 0,
206    loop: true,
207    autoplay: {
208        delay: 6000,
209    },
210    // Navigation arrows
211    navigation: {
212        nextEl: ".projectTwo-button-next",
213        prevEl: ".projectTwo-button-prev",
214    },
215});
216
217/*=============================================
218	=        Brand Active		      =
219=============================================*/
220var brandSwiper = new Swiper('.brand-active', {
221    // Optional parameters
222    slidesPerView: 5,
223    spaceBetween: 24,
224    loop: true,
225    breakpoints: {
226        '1500': {
227            slidesPerView: 5,
228        },
229        '1200': {
230            slidesPerView: 5,
231        },
232        '992': {
233            slidesPerView: 4,
234        },
235        '768': {
236            slidesPerView: 3,
237        },
238        '576': {
239            slidesPerView: 3,
240        },
241        '0': {
242            slidesPerView: 2,
243        },
244    },
245});
246
247
248var docSwiper = new Swiper('.doc-active', {
249    // Optional parameters
250    slidesPerView: 5,
251    spaceBetween: 24,
252    loop: true,
253    breakpoints: {
254        '1500': {
255            slidesPerView: 5,
256        },
257        '1200': {
258            slidesPerView: 5,
259        },
260        '992': {
261            slidesPerView: 4,
262        },
263        '768': {
264            slidesPerView: 3,
265        },
266        '576': {
267            slidesPerView: 3,
268        },
269        '0': {
270            slidesPerView: 2,
271        },
272        
273    },
274    navigation: {
275            nextEl: ".projectTwo-button-next",
276            prevEl: ".projectTwo-button-prev",
277        },
278});
279
280
281/*=============================================
282	=          History active              =
283=============================================*/
284var swiper2 = new Swiper(".history__active", {
285    spaceBetween: 24,
286    loop: true,
287    slidesPerView: 3,
288    centeredSlides: true,
289    autoplay: {
290        delay: 6000,
291    },
292    breakpoints: {
293        '1500': {
294            slidesPerView: 3,
295        },
296        '1200': {
297            slidesPerView: 3,
298        },
299        '992': {
300            slidesPerView: 3,
301        },
302        '768': {
303            slidesPerView: 2,
304        },
305        '576': {
306            slidesPerView: 1.5,
307        },
308        '0': {
309            slidesPerView: 1,
310        },
311    },
312    // Navigation arrows
313    navigation: {
314        nextEl: ".history-button-next",
315        prevEl: ".history-button-prev",
316    },
317});
318
319
320/*=============================================
321	=        Blog Thumb Active		      =
322=============================================*/
323var blogThumbSwiper = new Swiper('.blog-thumb-active', {
324    spaceBetween: 0,
325    effect: "fade",
326    loop: true,
327    // Navigation arrows
328    navigation: {
329        nextEl: ".blog-button-next",
330        prevEl: ".blog-button-prev",
331    },
332});
333
334/*=============================================
335	=        Related Shop Active		      =
336=============================================*/
337var shopSwiper = new Swiper('.related__shop-active', {
338    // Optional parameters
339    slidesPerView: 4,
340    spaceBetween: 24,
341    loop: true,
342    autoplay: {
343        delay: 6000,
344    },
345    breakpoints: {
346        '1500': {
347            slidesPerView: 4,
348        },
349        '1200': {
350            slidesPerView: 4,
351        },
352        '992': {
353            slidesPerView: 3,
354        },
355        '768': {
356            slidesPerView: 2,
357        },
358        '576': {
359            slidesPerView: 2,
360        },
361        '0': {
362            slidesPerView: 1,
363        },
364    },
365});
366
367
368/*=============================================
369	=        Similar Project Active		      =
370=============================================*/
371var similarSwiper = new Swiper('.similar__project-active', {
372    // Optional parameters
373    slidesPerView: 3,
374    spaceBetween: 24,
375    loop: true,
376    autoplay: {
377        delay: 6000,
378    },
379    breakpoints: {
380        '1500': {
381            slidesPerView: 3,
382        },
383        '1200': {
384            slidesPerView: 3,
385        },
386        '992': {
387            slidesPerView: 3,
388        },
389        '768': {
390            slidesPerView: 2,
391        },
392        '576': {
393            slidesPerView: 1,
394        },
395        '0': {
396            slidesPerView: 1,
397        },
398    },
399});
400
401
402/*=============================================
403	=       Testimonial Active        =
404=============================================*/
405var swiper2 = new Swiper(".testimonial__active", {
406    spaceBetween: 24,
407    loop: true,
408    slidesPerView: 2,
409    autoplay: {
410        delay: 6000,
411    },
412    breakpoints: {
413        '1500': {
414            slidesPerView: 2,
415        },
416        '1200': {
417            slidesPerView: 2,
418        },
419        '992': {
420            slidesPerView: 2,
421        },
422        '768': {
423            slidesPerView: 2,
424        },
425        '576': {
426            slidesPerView: 1,
427        },
428        '0': {
429            slidesPerView: 1,
430        },
431    },
432    // Navigation arrows
433    navigation: {
434        nextEl: ".testimonial-button-next",
435        prevEl: ".testimonial-button-prev",
436    },
437});
438
439/*=============================================
440	=        Team Social Active 	       =
441=============================================*/
442$('.social-toggle-icon').on('click', function () {
443	$(this).parent().find('ul').slideToggle(400);
444	$(this).find('i').toggleClass('fa-times');
445	return false;
446});
447
448
449/*=============================================
450	=    		Services Active  	       =
451=============================================*/
452function mediaSize() {
453    /* Set the matchMedia */
454    if (window.matchMedia('(min-width: 768px)').matches) {
455        const panels = document.querySelectorAll('.col-custom')
456        panels.forEach(panel => {
457            panel.addEventListener('click', () => {
458                removeActiveClasses()
459                panel.classList.add('active')
460            })
461        })
462
463        function removeActiveClasses() {
464            panels.forEach(panel => {
465                panel.classList.remove('active')
466            })
467        }
468
469    } else {
470    /* Reset for CSS changes – Still need a better way to do this! */
471        $(".col-custom").addClass("active");
472    }
473};
474mediaSize();
475
476/*===========================================
477	=       TweenMax Active   =
478=============================================*/
479$(".tg-motion-effects").mousemove(function (e) {
480    parallaxIt(e, ".tg-motion-effects1", 15);
481    parallaxIt(e, ".tg-motion-effects2", 5);
482    parallaxIt(e, ".tg-motion-effects3", -10);
483    parallaxIt(e, ".tg-motion-effects4", 30);
484    parallaxIt(e, ".tg-motion-effects5", -50);
485    parallaxIt(e, ".tg-motion-effects6", -20);
486});
487function parallaxIt(e, target_class, movement) {
488    var $wrap = $(e.target).parents(".tg-motion-effects");
489    if (!$wrap.length) return;
490    var $target = $wrap.find(target_class);
491    var relX = e.pageX - $wrap.offset().left;
492    var relY = e.pageY - $wrap.offset().top;
493
494    TweenMax.to($target, 1, {
495      x: ((relX - $wrap.width() / 2) / $wrap.width()) * movement,
496      y: ((relY - $wrap.height() / 2) / $wrap.height()) * movement,
497    });
498};
499
500
501/*=============================================
502	=    		Isotope	Active  	      =
503=============================================*/
504$('.project-active-two').imagesLoaded(function () {
505	// init Isotope
506	var $grid = $('.project-active-two').isotope({
507		itemSelector: '.grid-item',
508		percentPosition: true,
509		masonry: {
510			columnWidth: '.grid-item',
511		}
512	});
513	// filter items on button click
514	$('.project__menu-nav').on('click', 'button', function () {
515		var filterValue = $(this).attr('data-filter');
516		$grid.isotope({ filter: filterValue });
517	});
518
519});
520//for menu active class
521	$('.project__menu-nav button').on('click', function (event) {
522	$(this).siblings('.active').removeClass('active');
523	$(this).addClass('active');
524	event.preventDefault();
525});
526
527
528
529/*===========================================
530	=         Marquee Active         =
531=============================================*/
532if ($(".marquee_mode").length) {
533    $('.marquee_mode').marquee({
534        speed: 20,
535        gap: 35,
536        delayBeforeStart: 0,
537        direction: 'left',
538        duplicated: true,
539        pauseOnHover: true,
540        startVisible:true,
541    });
542}
543
544
545/*=============================================
546	=    	 Slider Range Active  	         =
547=============================================*/
548$("#slider-range").slider({
549	range: true,
550	min: 10,
551	max: 400,
552	values: [60, 300],
553	slide: function (event, ui) {
554		$("#amount").val("$" + ui.values[0] + " - $" + ui.values[1]);
555	}
556});
557$("#amount").val("$" + $("#slider-range").slider("values", 0) + " - $" + $("#slider-range").slider("values", 1));
558
559
560/*=============================================
561	=    		Cart Active 	        =
562=============================================*/
563$('.qtybutton-box span').on("click", function () {
564	var $input = $(this).parents('.num-block').find('input.in-num');
565	if ($(this).hasClass('minus')) {
566		var count = parseFloat($input.val()) - 1;
567		count = count < 1 ? 1 : count;
568		if (count < 2) {
569			$(this).addClass('dis');
570		}
571		else {
572			$(this).removeClass('dis');
573		}
574		$input.val(count);
575	}
576	else {
577		var count = parseFloat($input.val()) + 1
578		$input.val(count);
579		if (count > 1) {
580			$(this).parents('.num-block').find(('.minus')).removeClass('dis');
581		}
582	}
583	$input.change();
584	return false;
585});
586
587
588
589
590/*===========================================
591      =       Odometer Active    =
592=============================================*/
593$('.odometer').appear(function (e) {
594	var odo = $(".odometer");
595	odo.each(function () {
596		var countNumber = $(this).attr("data-count");
597		$(this).html(countNumber);
598	});
599});
600
601
602/*===========================================
603	=        Magnific Popup    =
604=============================================*/
605$('.popup-image').magnificPopup({
606	type: 'image',
607	gallery: {
608		enabled: true
609	}
610});
611
612/* magnificPopup video view */
613$('.popup-video').magnificPopup({
614	type: 'iframe'
615});
616
617
618/*===========================================
619	=        Wow Active      =
620=============================================*/
621function wowAnimation() {
622	var wow = new WOW({
623		boxClass: 'wow',
624		animateClass: 'animated',
625		offset: 0,
626		mobile: false,
627		live: true
628	});
629	wow.init();
630}
631
632
633/*===========================================
634	=           Aos Active       =
635=============================================*/
636function aosAnimation() {
637	AOS.init({
638		duration: 1000,
639		mirror: true,
640		once: true,
641		disable: 'mobile',
642	});
643}
644
645/*===========================================
646	=    		 Cart Active  	         =
647=============================================*/
648$(window).on("load", function () {
649if ($(".curved-circle").length) {
650    $(".curved-circle").circleType({
651        position: "absolute",
652        dir: 1,
653        radius: 280,
654        forceHeight: true,
655        forceWidth: true,
656    });
657}
658});
659
660})(jQuery);
661
662
663// Снег на НГ
664	new Snow ({
665		iconColor: '#bde0ea',
666		iconSize: 10,
667		countSnowflake: 70,
668		clearSnowBalls: 15000
669	});

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.