blob: ab099c0161cc7670958f0bdde5b001808e36a555 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
/**
* scroll-reveal.js
* IntersectionObserver for revealing elements on scroll
*/
export function initScrollReveal() {
'use strict';
const revealElements = document.querySelectorAll('.reveal');
if (!revealElements.length) return;
const observer = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
entry.target.classList.add('revealed');
observer.unobserve(entry.target);
}
});
}, {
threshold: 0.1,
});
revealElements.forEach((el) => {
observer.observe(el);
});
}
|