summaryrefslogtreecommitdiffstats
path: root/assets/js/scroll-reveal.js
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-04-22 12:42:56 +0200
committerDanilo M. <danix@danix.xyz>2026-04-22 12:42:56 +0200
commit631547a75142326a7c71bdf123e1475217a5ad73 (patch)
treef3cfef6b3c5b42bf626fc823ddcf63b8dcf4cdbb /assets/js/scroll-reveal.js
parent77ccbe72fad5a4870185fff374f75471c16a9043 (diff)
downloaddanixxyz-theme-631547a75142326a7c71bdf123e1475217a5ad73.tar.gz
danixxyz-theme-631547a75142326a7c71bdf123e1475217a5ad73.zip
chore: replace with extracted danix.xyz-hacker theme (danix2-hugo-theme)
Diffstat (limited to 'assets/js/scroll-reveal.js')
-rw-r--r--assets/js/scroll-reveal.js40
1 files changed, 0 insertions, 40 deletions
diff --git a/assets/js/scroll-reveal.js b/assets/js/scroll-reveal.js
deleted file mode 100644
index 026d1be..0000000
--- a/assets/js/scroll-reveal.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * scroll-reveal.js
- * IntersectionObserver for revealing elements on scroll.
- * Adds 90ms stagger delay per sibling index within each reveal-group.
- */
-
-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) return;
-
- const el = entry.target;
- const parent = el.parentElement;
- const siblings = parent
- ? Array.from(parent.querySelectorAll(':scope > .reveal'))
- : [];
- const index = siblings.indexOf(el);
- const delay = index >= 0 ? index * 90 : 0;
-
- el.style.transitionDelay = delay + 'ms';
- el.classList.add('revealed');
-
- // Remove inline delay after transition so hover transitions are unaffected
- const cleanup = () => {
- el.style.transitionDelay = '';
- el.removeEventListener('transitionend', cleanup);
- };
- el.addEventListener('transitionend', cleanup);
-
- observer.unobserve(el);
- });
- }, { threshold: 0.1 });
-
- revealElements.forEach((el) => observer.observe(el));
-}