-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
32 lines (28 loc) · 1.16 KB
/
Copy pathscript.js
File metadata and controls
32 lines (28 loc) · 1.16 KB
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
27
28
29
30
31
32
const thoughts = [...document.querySelectorAll('.thought')];
const key = document.getElementById('thoughtKey');
const question = document.getElementById('thoughtQ');
const copy = document.getElementById('thoughtCopy');
function activateThought(button) {
thoughts.forEach(item => item.classList.remove('active'));
button.classList.add('active');
key.textContent = button.dataset.key;
question.textContent = button.dataset.q;
copy.textContent = button.dataset.copy;
}
thoughts.forEach(button => {
button.addEventListener('mouseenter', () => activateThought(button));
button.addEventListener('focus', () => activateThought(button));
button.addEventListener('click', () => activateThought(button));
});
if ('IntersectionObserver' in window) {
const observer = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('in');
observer.unobserve(entry.target);
}
});
}, { threshold: 0.12 });
document.querySelectorAll('.story, .paper, .presentation, .people-notes article, .gallery figure, .sketch-gallery figure')
.forEach(element => observer.observe(element));
}