PageSourceSearch

https://ngolatv.com/wp-content/themes/norflo/assets/js/norflo-main.js?ver=1790261324

js ngolatv.com collected 2026-09-24 14:48:55 UTC 16,260 bytes, 803 lines download raw bytes

1(function ($) {
2    'use strict';
3    $(document).on('ready', function () {   
4
5		// Header Sticky
6		const getHeaderId = document.getElementById("navbar");
7		if (getHeaderId) {
8			window.addEventListener('scroll', event => {
9				const height = 10;
10				const { scrollTop } = event.target.scrollingElement;
11				document.querySelector('#navbar').classList.toggle('sticky', scrollTop >= height);
12			});
13		}
14 
15		// topBanner Sticky
16		const getBannerId = document.getElementById("topBanner");
17		if (getBannerId) {
18			window.addEventListener('scroll', event => {
19				const height = 500;
20				const { scrollTop } = event.target.scrollingElement;
21				document.querySelector('#topBanner').classList.toggle('hidden', scrollTop >= height);
22			});
23		}
24		 
25		// Back to Top JS
26		const getId = document.getElementById("backtotop");
27		if (getId) {
28			const topbutton = document.getElementById("backtotop");
29			topbutton.onclick = function (e) {
30				window.scrollTo({ top: 0, behavior: "smooth" });
31			};
32			window.onscroll = function () {
33				if (document.body.scrollTop > 200 || document.documentElement.scrollTop > 200) {
34					topbutton.style.opacity = "1";
35				} else {
36					topbutton.style.opacity = "0";
37				}
38			};
39		}
40
41		// Masonry
42        $('.masonry-grid').masonry({
43            itemSelector: '.masonry-grid-item'
44        });
45
46		// Preloader JS
47		const getPreloaderId = document.getElementById('preloader');
48		if (getPreloaderId) {
49			getPreloaderId.style.display = 'none';
50		}
51		
52		// Banner Three Area TweenMax JS
53		const getAboutId = document.getElementById("banner-three-area");
54		if (getAboutId) {
55			document.querySelector('.banner-three-area').addEventListener('mousemove', function(e) {
56				var wx = window.innerWidth;
57				var wy = window.innerHeight;
58				var x = e.pageX - this.offsetLeft;
59				var y = e.pageY - this.offsetTop;
60				var newx = x - wx / 2;
61				var newy = y - wy / 2;
62
63				document.querySelectorAll('.banner-shape').forEach(function(element) {
64					var speed = element.getAttribute('data-speed');
65					if (element.getAttribute('data-revert')) {
66						speed *= -0.8;
67					}
68					TweenMax.to(element, 1, {x: (1 - newx * speed), y: (1 - newy * speed)});
69				});
70			});
71		}
72
73		
74
75		// OPT Code JS
76		const getAboutsId = document.getElementById("banners-three-area");
77		if (getAboutsId) {
78			document.addEventListener('DOMContentLoaded', () => {
79				const form = document.getElementById('otp-form')
80				const inputs = [...form.querySelectorAll('input[type=text]')]
81				const submit = form.querySelector('button[type=submit]')
82			
83				const handleKeyDown = (e) => {
84					if (
85						!/^[0-9]{1}$/.test(e.key)
86						&& e.key !== 'Backspace'
87						&& e.key !== 'Delete'
88						&& e.key !== 'Tab'
89						&& !e.metaKey
90					) {
91						e.preventDefault()
92					}
93			
94					if (e.key === 'Delete' || e.key === 'Backspace') {
95						const index = inputs.indexOf(e.target);
96						if (index > 0) {
97							inputs[index - 1].value = '';
98							inputs[index - 1].focus();
99						}
100					}
101				}
102			
103				const handleInput = (e) => {
104					const { target } = e
105					const index = inputs.indexOf(target)
106					if (target.value) {
107						if (index < inputs.length - 1) {
108							inputs[index + 1].focus()
109						} else {
110							submit.focus()
111						}
112					}
113				}
114			
115				const handleFocus = (e) => {
116					e.target.select()
117				}
118			
119				const handlePaste = (e) => {
120					e.preventDefault()
121					const text = e.clipboardData.getData('text')
122					if (!new RegExp(`^[0-9]{${inputs.length}}$`).test(text)) {
123						return
124					}
125					const digits = text.split('')
126					inputs.forEach((input, index) => input.value = digits[index])
127					submit.focus()
128				}
129			
130				inputs.forEach((input) => {
131					input.addEventListener('input', handleInput)
132					input.addEventListener('keydown', handleKeyDown)
133					input.addEventListener('focus', handleFocus)
134					input.addEventListener('paste', handlePaste)
135				})
136			})  
137		}
138
139		document.addEventListener("DOMContentLoaded", function() {
140			var listItems = document.querySelectorAll(".accordion .accordion-item");
141		
142			listItems.forEach(function(item) {
143				item.addEventListener("click", function() {
144					var activeItems = document.querySelectorAll(".accordion .accordion-item.active");
145					activeItems.forEach(function(activeItem) {
146						activeItem.classList.remove("active");
147					});
148					this.classList.add("active");
149				});
150			});
151		});
152
153		// Background Images JS
154		// Find all elements with a "data-background" attribute
155		var elements = document.querySelectorAll("[data-background]");
156
157		// Loop through each element
158		elements.forEach(function (element) {
159			// Get the value of the "data-background" attribute
160			var backgroundValue = element.getAttribute("data-background");
161
162			// Set the "background-image" CSS property
163			element.style.backgroundImage = "url(" + backgroundValue + ")";
164		});
165	});
166  
167
168	$( window ).on( 'elementor/frontend/init', function() {
169		elementorFrontend.hooks.addAction( 'frontend/element_ready/global', function( $scope ) {
170			// Partner Slide JS
171			var swiper = new Swiper(".partner-slide", {
172				slidesPerView: 1,
173				spaceBetween: 24,
174				centeredSlides: false,
175				preventClicks: true,
176				loop: true, 
177				autoplay: {
178					delay: 8000,
179					disableOnInteraction: false,
180					pauseOnMouseEnter: true,
181				},
182				breakpoints: {
183					0: {
184						slidesPerView: 2,
185					},
186					340: {
187						slidesPerView: 1,
188					},
189					576: {
190						slidesPerView: 3,
191					},
192					768: {
193						slidesPerView: 4,
194					},
195					992: {
196						slidesPerView: 5,
197					},
198					1200: {
199						slidesPerView: 6,
200					},
201					1440: {
202						slidesPerView: 6,
203					},
204				}
205			});
206
207			
208
209			// Testomonial Slide JS
210			var swiper = new Swiper(".testomonial-slide", {
211				slidesPerView: 1,
212				spaceBetween: 50,
213				centeredSlides: false,
214				preventClicks: true,
215				autoHeight: true,
216				loop: true, 
217				autoplay: {
218					delay: 2000,
219					disableOnInteraction: false,
220					pauseOnMouseEnter: true,
221				},
222				breakpoints: {
223					0: {
224						slidesPerView: 1,
225					},
226					576: {
227						slidesPerView: 2,
228					},
229					768: {
230						slidesPerView: 2,
231					},
232					992: {
233						slidesPerView: 3,
234					},
235					1440: {
236						slidesPerView: 4,
237					},
238					1600: {
239						slidesPerView: 4.5,
240					},
241				}
242			});
243
244			// Banner Slide 1 JS
245			var smoothSwiper = new Swiper(".banner-slide-1", {
246				slidesPerView: 1,
247				spaceBetween: 0,
248				space: 0,
249				centeredSlides: false,
250				preventClicks: true,
251				loop: true, 
252				autoplay: {
253					delay: 0,
254					disableOnInteraction: false,
255					pauseOnMouseEnter: false,
256				},
257				speed:18000,
258				direction: 'horizontal',
259				zoom: true,
260				keyboard: 
261				{
262					enabled: true,
263					onlyInViewport: false,
264				},
265				breakpoints: {
266					0: {
267						slidesPerView: 1,
268					},
269					340: {
270						slidesPerView: 1,
271					},
272					450: {
273						slidesPerView: 1,
274					},
275					576: {
276						slidesPerView: 2,
277					},
278					768: {
279						slidesPerView: 2,
280					},
281					800: {
282						slidesPerView: 2,
283					},
284					992: {
285						slidesPerView: 2.5,
286					},
287					1440: {
288						slidesPerView: 3,
289					},
290					1600: {
291						slidesPerView: 3,
292					},
293					1881: {
294						slidesPerView: 4,
295					},
296				}
297			});
298
299			// Banner Slide 2 JS
300			var smoothSwiper = new Swiper(".banner-slide-2", {
301				slidesPerView: 1,
302				spaceBetween: 0,
303				space: 0,
304				centeredSlides: false,
305				preventClicks: true,
306				loop: true, 
307				autoplay: {
308					delay: 0,
309					disableOnInteraction: false,
310					pauseOnMouseEnter: false,
311				},
312				speed:18000,
313				direction: 'horizontal',
314				zoom: true,
315				keyboard: 
316				{
317					enabled: true,
318					onlyInViewport: false,
319				},
320				breakpoints: {
321					0: {
322						slidesPerView: 1,
323					},
324					370: {
325						slidesPerView: 1.5,
326					},
327					450: {
328						slidesPerView: 1,
329					},
330					450: {
331						slidesPerView: 2,
332					},
333					576: {
334						slidesPerView: 2,
335					},
336					768: {
337						slidesPerView: 2,
338					},
339					800: {
340						slidesPerView: 3,
341					},
342					992: {
343						slidesPerView: 2.5,
344					},
345					1440: {
346						slidesPerView: 3,
347					},
348					1600: {
349						slidesPerView: 3.5,
350					},
351				}
352			});
353
354			// Banner Slide 3 JS
355			var smoothSwiper = new Swiper(".banner-slide-3", {
356				slidesPerView: 1,
357				spaceBetween: 0,
358				space: 0,
359				centeredSlides: false,
360				preventClicks: true,
361				loop: true, 
362				autoplay: {
363					delay: 0,
364					disableOnInteraction: false,
365					pauseOnMouseEnter: false,
366				},
367				speed:18000,
368				direction: 'horizontal',
369				zoom: true,
370				keyboard: 
371				{
372					enabled: true,
373					onlyInViewport: false,
374				},
375				breakpoints: {
376					0: {
377						slidesPerView: 1,
378					},
379					576: {
380						slidesPerView: 2,
381					},
382					450: {
383						slidesPerView: 1,
384					},
385					768: {
386						slidesPerView: 2,
387					},
388					992: {
389						slidesPerView: 2.5,
390					},
391					1440: {
392						slidesPerView: 3,
393					},
394					1600: {
395						slidesPerView: 4,
396					},
397				}
398			});
399
400			// Movies Slide JS
401			var swiper = new Swiper(".movies-slide", {
402				slidesPerView: 1,
403				spaceBetween: 24,
404				centeredSlides: false,
405				preventClicks: true,
406				loop: true, 
407				autoplay: {
408					delay: 8000,
409					disableOnInteraction: false,
410					pauseOnMouseEnter: true,
411				},
412				navigation: {
413					nextEl: ".prev",
414					prevEl: ".next",
415				},
416				breakpoints: {
417					0: {
418						slidesPerView: 1,
419					},
420					576: {
421						slidesPerView: 2,
422					},
423					768: {
424						slidesPerView: 3,
425					},
426					992: {
427						slidesPerView: 4,
428					},
429					1200: {
430						slidesPerView: 5,
431					},
432					1440: {
433						slidesPerView: 6,
434					},
435				}
436			});
437
438			// Testomonial Slide Two JS
439			var swiper = new Swiper(".testomonial-slide-two", {
440				slidesPerView: 1,
441				spaceBetween: 50,
442				centeredSlides: false,
443				preventClicks: true,
444				loop: true, 
445				autoplay: {
446					delay: 2000,
447					disableOnInteraction: false,
448					pauseOnMouseEnter: true,
449				},
450				navigation: {
451					nextEl: ".prev",
452					prevEl: ".next",
453				},
454				breakpoints: {
455					0: {
456						slidesPerView: 1,
457					},
458					576: {
459						slidesPerView: 1,
460					},
461					768: {
462						slidesPerView: 1,
463					},
464					992: {
465						slidesPerView: 2,
466					},
467					1440: {
468						slidesPerView: 2,
469					},
470					1600: {
471						slidesPerView: 2,
472					},
473				}
474			});
475
476			// Odometer JS
477			if ("IntersectionObserver" in window) {  
478				let counterObserver = new IntersectionObserver(function (entries, observer) {
479					entries.forEach(function (entry) {
480						if (entry.isIntersecting) {
481						let counter = entry.target;
482						let target = parseInt(counter.innerText);
483						let step = target / 200;
484						let current = 0;
485						let timer = setInterval(function () {
486							current += step;
487							counter.innerText = Math.floor(current);
488							if (parseInt(counter.innerText) >= target) {
489							clearInterval(timer);
490							}
491						}, 10);
492						counterObserver.unobserve(counter);
493						}
494					});
495				});
496				let counters = document.querySelectorAll(".counter");
497				counters.forEach(function (counter) {
498					counterObserver.observe(counter);
499				});
500			}
501
502			// Reviews Slide JS
503			var swiper = new Swiper(".reviews-slide", {
504				slidesPerView: 1,
505				spaceBetween: 0,
506				centeredSlides: false,
507				preventClicks: true,
508				loop: true, 
509				autoplay: {
510					delay: 8000,
511					disableOnInteraction: false,
512					pauseOnMouseEnter: true,
513				},
514				navigation: {
515					nextEl: ".prev2",
516					prevEl: ".next2",
517				},
518			});
519
520			// Explore Speeds Slide JS
521			var swiper = new Swiper(".explore-speeds-slide", {
522				slidesPerView: 1,
523				spaceBetween: 24,
524				centeredSlides: false,
525				preventClicks: true,
526				loop: true, 
527				breakpoints: {
528					0: {
529						slidesPerView: 1,
530					},
531					768: {
532						slidesPerView: 2,
533					},
534					992: {
535						slidesPerView: 3,
536					},
537					1440: {
538						slidesPerView: 4,
539					},
540					1600: {
541						slidesPerView: 5,
542					},
543				}
544			});
545
546			// Explore Speeds Slide JS
547			var swiper = new Swiper(".explore-speeds-slide", {
548				slidesPerView: 1,
549				spaceBetween: 24,
550				centeredSlides: false,
551				preventClicks: true,
552				loop: true, 
553				breakpoints: {
554					0: {
555						slidesPerView: 1,
556					},
557					768: {
558						slidesPerView: 2,
559					},
560					992: {
561						slidesPerView: 3,
562					},
563					1440: {
564						slidesPerView: 4,
565					},
566					1600: {
567						slidesPerView: 5,
568					},
569				}
570			});
571
572			// OTT Platform Slider JS
573			var SwiperTraveler = new Swiper(".ott-platform-slider", {
574				loop: true,
575				slidesPerView: 1,
576				effect: "fade",
577				speed: 1000,
578				autoHeight: true,
579				autoplay: false,
580				navigation: {
581					nextEl: ".button-next",
582					prevEl: ".button-prev",
583				},
584			});
585		
586
587			// OTT Platform Movies Slide 1 JS
588			var smoothSwiper = new Swiper(".ott-platform-movies-1", {
589				slidesPerView: 1,
590				spaceBetween: 10,
591				centeredSlides: false,
592				preventClicks: true,
593				loop: true, 
594				autoplay: {
595					delay: 0,
596					disableOnInteraction: false,
597					pauseOnMouseEnter: false,
598				},
599				speed:18000,
600				direction: 'horizontal',
601				zoom: true,
602				keyboard: 
603				{
604					enabled: true,
605					onlyInViewport: false,
606				},
607				breakpoints: {
608					0: {
609						slidesPerView: 1,
610					},
611					340: {
612						slidesPerView: 1,
613					},
614					450: {
615						slidesPerView: 1,
616					},
617					576: {
618						slidesPerView: 2,
619					},
620					768: {
621						slidesPerView: 2,
622					},
623					800: {
624						slidesPerView: 2,
625					},
626					992: {
627						slidesPerView: 2.5,
628					},
629					1440: {
630						slidesPerView: 3,
631					},
632					1600: {
633						slidesPerView: 3,
634					},
635					1881: {
636						slidesPerView: 4,
637					},
638				}
639			});
640
641			// OTT Platform Movies Slide 2 JS
642			var smoothSwiper = new Swiper(".ott-platform-movies-2", {
643				slidesPerView: 1,
644				spaceBetween: 10,
645				centeredSlides: false,
646				preventClicks: true,
647				loop: true, 
648				autoplay: {
649					delay: 0,
650					disableOnInteraction: false,
651					pauseOnMouseEnter: false,
652				},
653				speed:18000,
654				direction: 'horizontal',
655				zoom: true,
656				keyboard: 
657				{
658					enabled: true,
659					onlyInViewport: false,
660				},
661				breakpoints: {
662					0: {
663						slidesPerView: 1,
664					},
665					370: {
666						slidesPerView: 1.5,
667					},
668					450: {
669						slidesPerView: 1,
670					},
671					450: {
672						slidesPerView: 2,
673					},
674					576: {
675						slidesPerView: 2,
676					},
677					768: {
678						slidesPerView: 2,
679					},
680					800: {
681						slidesPerView: 3,
682					},
683					992: {
684						slidesPerView: 2.5,
685					},
686					1440: {
687						slidesPerView: 3,
688					},
689					1600: {
690						slidesPerView: 3.5,
691					},
692				}
693			});
694
695			// Movie Home Slider JS
696			var SwiperTraveler = new Swiper(".movie-home-slider", {
697				loop: true,
698				slidesPerView: 1,
699				effect: "fade",
700				speed: 1000,
701				autoHeight: true,
702				autoplay: {
703					delay: 3000,
704					disableOnInteraction: false,
705				},
706				navigation: {
707					nextEl: ".button-next",
708					prevEl: ".button-prev",
709				},
710				pagination: {
711					el: ".movie-home-slider-pagination",
712					clickable: true,
713				},
714			});
715
716			// ALL Movies Slider JS
717			var SwiperTraveler = new Swiper(".all-movies-slider", {
718				loop: true,
719				spaceBetween: 25,
720				autoplay: {
721					delay: 3000,
722					disableOnInteraction: false,
723				},
724				navigation: {
725					prevEl: ".movies-button-prev",
726					nextEl: ".movies-button-next",
727				},
728				breakpoints: {
729					0: {
730						slidesPerView: 1
731					},
732					576: {
733						slidesPerView: 1
734					},
735					768: {
736						slidesPerView: 2
737					},
738					992: {
739						slidesPerView: 3
740					},
741					1200: {
742						slidesPerView: 4
743					},
744					1600: {
745						slidesPerView: 5
746					},
747				}
748			});
749
750			// MH Movies Slider JS
751			var SwiperTraveler = new Swiper(".mh-movies-slider", {
752				loop: true,
753				spaceBetween: 1,
754				centeredSlides: true,
755				autoplay:false,
756				pagination: {
757					el: ".mh-movies-pagination",
758					clickable: true,
759				},
760				breakpoints: {
761					0: {
762						slidesPerView: 1
763					},
764					576: {
765						slidesPerView: 2
766					},
767					768: {
768						slidesPerView: 3
769					},
770					992: {
771						slidesPerView: 5
772					},
773					1200: {
774						slidesPerView: 5
775					},
776				}
777			});
778
779
780
781			// Popup Video
782			$('.popup-video').magnificPopup({
783				disableOn: 320,
784				type: 'iframe',
785				mainClass: 'mfp-fade',
786				removalDelay: 160,
787				preloader: false,
788				fixedContentPos: false
789			});
790
791			// Masonry
792			$('.masonry-grid').masonry({
793				itemSelector: '.masonry-grid-item'
794			});
795		});
796    });
797
798	
799	
800	
801	
802
803}(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.