levkin.ca/stack/stack.js
ilia b03a9972cf Tighten Stack: five layers (L0–L4), less scroll and spacing.
Merge contact and ops into L4 surface; static footer; narrower cards and smaller offsets.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-20 22:42:25 -04:00

25 lines
655 B
JavaScript

const layers = document.querySelectorAll('.layer');
const depthEl = document.getElementById('depth');
const rulerSpans = document.querySelectorAll('.stack-ruler span');
function updateDepth() {
const mid = window.innerHeight * 0.45;
let active = 0;
layers.forEach((layer) => {
const rect = layer.getBoundingClientRect();
if (rect.top <= mid && rect.bottom > mid) {
active = Number(layer.dataset.layer);
}
});
depthEl.textContent = `L${active}`;
rulerSpans.forEach((span, i) => {
span.classList.toggle('active', i === active);
});
}
window.addEventListener('scroll', updateDepth, { passive: true });
updateDepth();