PageSourceSearch

https://edison47.com/wp-content/themes/resi-child-theme/builder/hd-counter/js/hd-counter.js?ver=4.4.9

js edison47.com collected 2026-10-07 02:54:37 UTC 1,764 bytes, 63 lines download raw bytes

1function countUp(el, start, end, duration, separatorLocale) {
2
3	let range = end - start;
4	let stepTime = Math.abs(Math.floor(duration / range));
5
6	let startTime = new Date().getTime();
7	let endTime = startTime + duration;
8	let timer;
9
10	function count() {
11		let now = new Date().getTime();
12		let remaining = Math.max((endTime - now) / duration, 0);
13		let value = Math.round(end - (remaining * range));
14		el.innerHTML = (separatorLocale === undefined) ? value : value.toLocaleString(separatorLocale, {useGrouping: true });
15		if (value == end) {
16			clearInterval(timer);
17		}
18	}
19
20	timer = setInterval(count, stepTime);
21	count();
22}
23
24function startAnimation() {
25
26	let counters = document.querySelectorAll('.counter-container');
27
28	for (let i = 0; i < counters.length; i++) {
29
30		let el = counters[i];
31
32		if (!el.getAttribute('data-animated') && UIkit.util.isInView(el)) {
33
34			let perimeter = 2 * Math.PI * el.dataset.radius,
35			    circle    = el.querySelector('.counter-value'),
36			    numberEl  = el.querySelector('.el-number'),
37			    svg       = el.querySelector('.el-circle');
38
39			if (svg) { svg.setAttribute('id', el.dataset.uniqid); }
40
41			if (circle) {
42				circle.style.strokeDashoffset = perimeter * (1 - el.dataset.percentage / 100);
43				circle.style.strokeDasharray = perimeter;
44			}
45
46			if (numberEl) {
47				countUp(numberEl, 0, el.dataset.number, parseInt(el.dataset.duration), el.dataset.separatorLocale);
48			}
49
50			el.setAttribute('data-animated', true);
51
52		}
53
54	}
55
56};
57
58UIkit.util.ready(function() {
59	startAnimation();
60	window.addEventListener('load', startAnimation, false);
61	window.addEventListener('scroll', startAnimation, false);
62	window.addEventListener('resize', startAnimation, false);
63});

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.