PageSourceSearch

https://netinfo.eu/wp-content/themes/troz/assets/js/troz-main.js?ver=1791227374

js netinfo.eu collected 2026-10-05 19:10:34 UTC 8,978 bytes, 390 lines download raw bytes

1jQuery(function ($) {
2    'use strict';
3	jQuery(document).on('ready', function () {
4
5		// scrollCue
6		scrollCue.init();
7
8		// Sticky, Go To Top JS
9		$(window).on('scroll', function() {
10			// Header Sticky JS
11			if ($(this).scrollTop() >100){  
12				$('.navbar').addClass("sticky");
13			}
14			else{
15				$('.navbar').removeClass("sticky");
16			};
17		});
18
19		const getPreloaderId = document.getElementById('preloader');
20        if (getPreloaderId) {
21            getPreloaderId.style.display = 'none';
22        }
23
24		// Product +/-
25		$(".plus-btn").on('click', function() {
26			var  input = $(this).prev('input.qty');
27			var val = parseInt(input.val());
28			var step = input.attr('step');
29			step = 'undefined' !== typeof(step) ? parseInt(step) : 1;
30			input.val( val + step ).change();
31		});
32
33		$(".minus-btn").on('click', function() {
34			var input = $(this).next('input.qty');
35			var val = parseInt(input.val());
36			var step = input.attr('step');
37			step = 'undefined' !== typeof(step) ? parseInt(step) : 1;
38			if (val > 0) {
39				input.val( val - step ).change();
40			}
41		});
42
43		// Counter Js
44        try {
45            if ("IntersectionObserver" in window) {
46                let counterObserver = new IntersectionObserver(function (entries, observer) {
47                    entries.forEach(function (entry) {
48                        if (entry.isIntersecting) {
49                        let counter = entry.target;
50                        let target = parseInt(counter.innerText);
51                        let step = target / 200;
52                        let current = 0;
53                        let timer = setInterval(function () {
54                            current += step;
55                            counter.innerText = Math.floor(current);
56                            if (parseInt(counter.innerText) >= target) {
57                            clearInterval(timer);
58                            }
59                        }, 10);
60                        counterObserver.unobserve(counter);
61                        }
62                    });
63                });
64
65                let counters = document.querySelectorAll(".counter");
66                    counters.forEach(function (counter) {
67                    counterObserver.observe(counter);
68                });
69            }
70        } catch {}
71
72
73
74    });
75
76	$( window ).on( 'elementor/frontend/init', function() {
77		elementorFrontend.hooks.addAction( 'frontend/element_ready/global', function( $scope ) {
78
79			// Main Slider JS
80			var swiper = new Swiper(".main-banner-content-slide", {
81				loop: false,
82				grabCursor: true,
83				spaceBetween: 25,
84				autoplay: {
85					delay: 5000,
86					disableOnInteraction: false,
87				},
88				pagination: {
89					el: ".main-banner-pagination",
90					clickable: true,
91				},
92			});
93
94			// Solutions Swiper JS
95			var SwiperTraveler = new Swiper(".solutions-slide", {
96				loop: false,
97				spaceBetween: 25,
98				autoplay: {
99					delay: 5000,
100					disableOnInteraction: false,
101				},
102				pagination: {
103					el: ".solutions-pagination",
104					clickable: true,
105				},
106				breakpoints: {
107					0: {
108						slidesPerView: 1
109					},
110					576: {
111						slidesPerView: 2
112					},
113					768: {
114						slidesPerView: 2
115					},
116					992: {
117						slidesPerView: 3
118					},
119					1200: {
120						slidesPerView: 4
121					},
122				}
123			});
124
125			// Services Swiper JS
126			var SwiperTraveler = new Swiper(".services-slide", {
127				loop: false,
128				spaceBetween: 25,
129				autoplay: {
130					delay: 5000,
131					disableOnInteraction: false,
132				},
133				pagination: {
134					el: ".services-pagination",
135					clickable: true,
136				},
137				breakpoints: {
138					0: {
139						slidesPerView: 1
140					},
141					768: {
142						slidesPerView: 2
143					},
144					992: {
145						slidesPerView: 2
146					},
147					1200: {
148						slidesPerView: 3
149					},
150				}
151			});
152
153			// Loans Swiper JS
154			var SwiperTraveler = new Swiper(".loans-slide", {
155				loop: false,
156				spaceBetween: 25,
157				autoplay: {
158					delay: 5000,
159					disableOnInteraction: false,
160				},
161				pagination: {
162					el: ".loans-pagination",
163					clickable: true,
164				},
165				breakpoints: {
166					0: {
167						slidesPerView: 1
168					},
169					768: {
170						slidesPerView: 2
171					},
172					992: {
173						slidesPerView: 2
174					},
175					1200: {
176						slidesPerView: 2
177					},
178				}
179			});
180
181			// Main Slider JS
182			var swiper = new Swiper(".main-slider", {
183				effect: "fade",
184				loop: true,
185				grabCursor: true,
186				spaceBetween: 0,
187				speed: 2500,
188				autoplay: {
189					delay: 5000,
190					disableOnInteraction: false,
191				},
192			});
193
194			// Team Swiper JS
195			var SwiperTraveler = new Swiper(".team-slide", {
196				loop: false,
197				spaceBetween: 25,
198				autoplay: {
199					delay: 5000,
200					disableOnInteraction: false,
201				},
202				pagination: {
203					el: ".team-pagination",
204					clickable: true,
205				},
206				breakpoints: {
207					0: {
208						slidesPerView: 1
209					},
210					768: {
211						slidesPerView: 2
212					},
213					992: {
214						slidesPerView: 2
215					},
216					1200: {
217						slidesPerView: 2
218					},
219				}
220			});
221
222			// Testimonials Swiper JS
223			var SwiperTraveler = new Swiper(".testimonials-slide", {
224				loop: false,
225				spaceBetween: 25,
226				autoplay: {
227					delay: 5000,
228					disableOnInteraction: false,
229				},
230				pagination: {
231					el: ".testimonials-pagination",
232					clickable: true,
233				},
234				breakpoints: {
235					0: {
236						slidesPerView: 1
237					},
238					768: {
239						slidesPerView: 1
240					},
241					992: {
242						slidesPerView: 1
243					},
244					1200: {
245						slidesPerView: 2
246					},
247				}
248			});
249
250			// Our Services Slider JS
251			var SwiperTraveler = new Swiper(".our-services-slider", {
252				loop: true,
253				spaceBetween: 25,
254				// autoplay: {
255				// 	delay: 5000,
256				// 	disableOnInteraction: false,
257				// },
258				pagination: {
259					el: ".our-services-pagination",
260					clickable: true,
261				},
262				breakpoints: {
263					0: {
264						slidesPerView: 1
265					},
266					576: {
267						slidesPerView: 1
268					},
269					768: {
270						slidesPerView: 1
271					},
272					992: {
273						slidesPerView: 2
274					},
275					1200: {
276						slidesPerView: 2
277					},
278				}
279			});
280		
281		});
282
283	});
284
285	//* Magnific popup
286	$(document).ready(function() {
287		$('.popup-youtube, .popup-vimeo, .popup-gmaps').magnificPopup({
288			disableOn: 100,
289			type: 'iframe',
290			mainClass: 'mfp-fade',
291			removalDelay: 160,
292			preloader: false,
293			fixedContentPos: false
294		});
295	});
296
297	$('.popup-gallery').magnificPopup({
298		delegate: 'a',
299		type: 'image',
300		tLoading: 'Loading image #%curr%...',
301		mainClass: 'mfp-img-mobile',
302		gallery: {
303			enabled: true,
304			navigateByImgClick: true,
305			preload: [0,1] 
306		},
307		image: {
308			tError: '<a href="%url%">The image #%curr%</a> could not be loaded.',
309			titleSrc: function(item) {
310				return item.el.attr('title') + '<small>by Marsel Van Oosten</small>';
311			}
312		}
313	});
314
315	//Masonry
316	try {
317		jQuery(document).ready(function($) {
318			$('.doc-grid').masonry({
319				itemSelector: '.grid-item',
320			});
321		});
322	} catch (err) {}
323
324	// Preloader
325	$(window).on('load', function() {
326		$('.preloader').addClass('preloader-deactivate');
327	})
328
329	// Go to Top
330	$(function(){
331		// Scroll Event
332		$(window).on('scroll', function(){
333			var scrolled = $(window).scrollTop();
334			if (scrolled > 100) $('.go-top').addClass('active');
335			if (scrolled < 100) $('.go-top').removeClass('active'); 
336		});  
337		// Click Event
338		$('.go-top').on('click', function() {
339			$("html, body").animate({ scrollTop: "0" },  100);
340		});
341	});
342
343}(jQuery));
344
345// Sidebar Menu
346( function( $ ) {
347	$( document ).ready(function() {
348	'use strict';
349	$('.navbar-nav li.menu-item-has-children>a').on('click', function(){
350			$(this).removeAttr('href');
351			var element = $(this).parent('li');
352			if (element.hasClass('open')) {
353				element.removeClass('open');
354				element.find('li').removeClass('open');
355				element.find('ul').slideUp();
356			}
357			else {
358				element.addClass('open');
359				element.children('ul').slideDown();
360				element.siblings('li').children('ul').slideUp();
361				element.siblings('li').removeClass('open');
362				element.siblings('li').find('li').removeClass('open');
363				element.siblings('li').find('ul').slideUp();
364			}
365		});
366	
367		$('.navbar-nav>ul>li.menu-item-has-children>a').append('<span class="holder"></span>');
368	
369		function rgbToHsl(r, g, b) {
370			r /= 255, g /= 255, b /= 255;
371			var max = Math.max(r, g, b), min = Math.min(r, g, b);
372			var h, s, l = (max + min) / 2;
373	
374			if(max == min){
375				h = s = 0;
376			}
377			else {
378				var d = max - min;
379				s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
380				switch(max){
381					case r: h = (g - b) / d + (g < b ? 6 : 0); break;
382					case g: h = (b - r) / d + 2; break;
383					case b: h = (r - g) / d + 4; break;
384				}
385				h /= 6;
386			}
387			return l;
388		}
389	});
390} )( jQuery );

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.