PageSourceSearch

https://firstpoint-mg.com/wp-content/themes/firstpoint/assets/js/all.js?1791015230&ver=7.1.1

js firstpoint-mg.com collected 2026-10-03 22:44:16 UTC 7,985 bytes, 296 lines download raw bytes

1jQuery(document).ready(function ($) {
2	
3    $(".tglmenu").click(function () {
4        $(this).toggleClass('active');
5        $('.hmenu').slideToggle(300);
6    });
7		
8	const $items = $('.patentlist .item').each((i,el)=>$(el).attr('data-index',i));
9	const $bullets = $('<div class="nav-bullets"/>').appendTo('.patentlist');
10	$items.each((i)=>$('<span class="bullet"/>').attr('data-index',i).toggleClass('active',!i).appendTo($bullets));
11
12	$items.find('.txt').hide().eq(0).show().end().eq(0).addClass('active');
13	let active = 0;
14
15	function setActive(i){
16		if(i === active) return;
17		active = i;
18
19		$items
20			.removeClass('active')
21			.find('.txt')
22			.stop(true, true)        
23			.slideUp(300);
24
25		$items.eq(i)
26			.addClass('active')
27			.find('.txt')
28			.stop(true, true)        
29			.slideDown(300);
30
31		$bullets.find('.bullet')
32			.removeClass('active')
33			.eq(i)
34			.addClass('active');
35	}
36
37
38	/*$('.patentlist').on('click','.item',e=>{
39		if(!$(e.target).closest('.txt').length) setActive(+$(e.currentTarget).data('index'));
40	}).on('click','.bullet',e=>{
41		setActive(+$(e.currentTarget).data('index'));
42	});*/
43	
44	$('.patentlist').on('mouseenter', '.item', e => {
45		if (!$(e.target).closest('.txt').length) {
46			setActive(+$(e.currentTarget).data('index'));
47		}
48	});
49
50	// Hover bullet
51	$('.patentlist').on('mouseenter', '.bullet', e => {
52		setActive(+$(e.currentTarget).data('index'));
53	});
54
55	/*$(window).on('scroll resize',()=>{
56		const mid = $(window).scrollTop()+$(window).height()/2;
57		let closest = 0, dist = 1e9;
58		$items.each((i,el)=>{
59			const m = $(el).offset().top+$(el).outerHeight()/2;
60			const d = Math.abs(mid-m);
61			if(d<dist){ dist=d; closest=i; }
62		});
63		setActive(closest);
64	});*/
65
66
67	$('.logocarousel').owlCarousel({
68		items:7,
69        nav: false,
70        autoplay: true,
71        autoplayTimeout: 4000,
72        autoplaySpeed: 2000,
73        autoplayHoverPause: true,
74        dots: true,
75        loop: true,
76        margin: 40,
77		responsive: {
78			0: { items: 1, margin: 0, },
79			800: { items: 4, margin: 20, },
80			1200: { items: 5, margin: 30,},
81			1600: { items: 7, margin: 40,},
82		}
83    });	
84	
85	$('.cimgslider').owlCarousel({
86		items:1,
87        nav: false,
88        autoplay: true,
89        autoplayTimeout: 4000,
90        autoplaySpeed: 2000,
91        autoplayHoverPause: true,
92        dots: true,
93        loop: true,
94        margin: 5,
95    });	
96	
97	$('.tabnav a').click(function(e){
98		e.preventDefault();
99		$('.tabnav a').removeClass('active');
100		$('.tab').fadeOut(0);
101		$(this).addClass('active'); 		
102		$(this.hash).fadeIn(200);
103	}).filter(':first').trigger('click');
104
105    // Accordion	
106	var allmenu = $('.accitems .item .desc');
107    $('.accitems .item .title').click(function () {
108        $this = $(this);
109        $target = $this.next();
110        if ($target.hasClass('show')) {
111            $target.removeClass('show').slideUp(100);
112            $this.removeClass('active');
113            $this.parent().removeClass('active');
114        } else {
115            allmenu.removeClass('show').slideUp(100).prev().removeClass('active');
116            $target.addClass('show').slideDown(100).prev().addClass('active');
117            allmenu.parent().removeClass('active');
118			$target.parent().addClass('active');
119        }
120        return false;
121    })//.filter(':first').trigger('click');
122	
123    $(window).on('resize  scroll', function () {
124        $("header").toggleClass("sticky", $(document).scrollTop() >= 10);
125    });
126	
127	window.addEventListener('load', function() {
128		var scroll = $(window).scrollTop();
129		if (scroll >= 80) {
130			$("header").addClass('sticky');
131		}
132	});
133	
134	AOS.init({
135		once: true,       // Whether animation should happen only once
136		duration: 1000,   // Animation duration in milliseconds
137		offset: 50,      // Offset (in px) from the original trigger point
138		easing: 'ease',   // Default easing for AOS animations
139		delay: 0,         // Delay between animations (in ms)
140	});
141	
142	/*$('.filterbtns a').click(function(e) {
143        e.preventDefault();
144        var filter = $(this).data('filter');
145
146        $('.filterbtns a').removeClass('active');
147        $(this).addClass('active');
148
149        if(filter === 'all') {
150            $('.nitem').show();
151        } else {
152            $('.nitem').hide();
153            $('.nitem.' + filter).show();
154        }
155    });*/
156	
157	if ($(window).width() > 801) {
158		$('.securelist .item').first().addClass('active').find('.hide').slideDown(0);
159		$('.securelist .item').on('mouseenter', function () {
160
161			// If this item is already active → do nothing
162			if ($(this).hasClass('active')) {
163				return;
164			}
165
166			// Otherwise, reset all
167			$('.securelist .item').removeClass('active');
168			$('.securelist .item .hide').stop(true, true).slideUp(0);
169
170			// Activate the hovered item
171			$(this).addClass('active');
172
173			const $hideEl = $(this).find('.hide');
174			const $item = $(this);
175
176			// Delay the slideDown by 1s
177			setTimeout(() => {
178				// Only animate if it's STILL the active item
179				if ($item.hasClass('active')) {
180					$hideEl.stop(true, true).slideDown(400);
181				}
182			}, 600);
183		});
184	} else {
185		$('.securelist .item').first().addClass('active').find('.hide').slideDown(0);
186		$('.securelist .item').on('mouseenter', function () { 
187			$('.securelist .item').removeClass('active'); 
188			$('.securelist .item .hide').stop(true, true).slideUp(0); 
189			$(this).addClass('active'); 
190			$(this).find('.hide').stop(true, true).slideDown(200); 		
191		});
192	}
193	
194	if (/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) {
195		
196		
197		
198		if ($(window).width() < 1191) {
199			var submenu = $('.menu > .menu-item-has-children ul');
200			$('.menu > .menu-item-has-children > a').click(function() {
201				$this = $(this);
202				$target =  $(this).siblings(submenu);
203				if($target.hasClass('show')){
204				$target.removeClass('show').slideUp(100); 
205				$this.parent().removeClass('active');
206				}else{
207				submenu.removeClass('show').slideUp(100).parent().removeClass('active');
208				$target.addClass('show').slideDown(100).parent().addClass('active');
209			}
210			return false;
211			});//.filter(':first').trigger('click');
212		}
213		if ($(window).width() < 801) {			
214			$('.simply-list').addClass('owl-carousel');
215			$('.simply-list').owlCarousel({
216				items:1,
217				nav: false,
218				autoplay: true,
219				autoplayTimeout: 4000,
220				autoplaySpeed: 2000,
221				autoplayHoverPause: true,
222				dots: true,
223				loop: true,
224				margin: 10,
225			});
226
227		}
228	}
229
230	// number anim
231	$('.numanim').each(function() {
232		var $this = $(this);
233		var countTo = parseInt($this.attr('data-count'), 10);
234
235		$this.waypoint(function(direction) {
236		  $({ countNum: 0 }).animate(
237			{ countNum: countTo },
238			{
239			  duration: 1500,
240			  easing: 'swing',
241			  step: function() {
242				let displayVal = this.countNum < 10 ? '' + Math.floor(this.countNum) : Math.floor(this.countNum);
243				$this.text(displayVal);
244			  },
245			  complete: function() {
246				$this.text(countTo < 10 ? '' + countTo : countTo);
247			  }
248			}
249		  );
250		  this.destroy(); // Only trigger once
251		}, {
252		  offset: '90%' // Trigger when the element is 90% into view
253		});
254	});
255	
256	/*ScrollReveal().reveal('.animdiv', {
257		distance: '50px',
258		duration: 1000,
259		easing: 'ease-in-out',
260		origin: 'bottom',
261		interval: 200
262	});*/
263
264	$('.text-toggle').click(function() {
265		$(this).toggleClass('on');
266		$(this).siblings('.text-limited').toggleClass('active');
267		const isOn = $(this).hasClass('on');
268		$(this).text(isOn ? 'Show less' : 'Read more');
269	});
270
271	$('.team-card').on('click', function() {
272		$(this).siblings('.team-modal').addClass('active');
273	});
274
275	$('.mclose-btn').click(function() {
276		$(this).closest('.team-modal').removeClass('active');
277	});
278
279	$('.scroll-to').click(function(e) {
280		e.preventDefault();
281		const target = $(this).attr('href');
282		if (target && $(target).length) {
283			$('html, body').animate({
284				scrollTop: $(target).offset().top
285			}, 600);
286		}
287	});
288
289	$('.job-head, .job-toggle').click(function() {
290		$(this).siblings('.job-details').slideToggle(200);
291		$(this).parents('.job-row').toggleClass('active');
292	});
293
294
295	
296});

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.