webdlh-net/wwwroot/js/Home/Informasi.js

34 lines
900 B
JavaScript

AOS.init();
document.addEventListener("DOMContentLoaded", function () {
const rollingNumbers = document.querySelectorAll(".rolling-number");
const observer = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
const element = entry.target;
const target = parseInt(element.getAttribute("data-target"));
let current = 0;
const increment = target / 120;
const updateNumber = () => {
current += increment;
if (current < target) {
element.textContent = Math.floor(current);
requestAnimationFrame(updateNumber);
} else {
element.textContent = target;
}
};
updateNumber();
observer.unobserve(element);
}
});
});
rollingNumbers.forEach((number) => {
observer.observe(number);
});
});