From 6259388a831748319aa41c1934774b609dc7028a Mon Sep 17 00:00:00 2001 From: kkrzowski Date: Wed, 29 Oct 2025 13:11:56 +0100 Subject: [PATCH] Add indexv2.js --- indexv2.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 indexv2.js diff --git a/indexv2.js b/indexv2.js new file mode 100644 index 0000000..8aad8b6 --- /dev/null +++ b/indexv2.js @@ -0,0 +1,42 @@ +function hideHeaderOnScroll() { + const header = document.querySelector('.header__mobile'); + if (!header) return; + + let lastScrollY = window.scrollY; + let offset = 0; + const headerHeight = header.offsetHeight; + + function onScroll() { + const currentScroll = window.scrollY; + const diff = currentScroll - lastScrollY; + + offset += diff; + offset = Math.max(0, Math.min(offset, headerHeight)); + + header.style.transform = `translateY(-${offset}px)`; + lastScrollY = currentScroll; + } + + function onTouchEnd() { + const visiblePart = headerHeight - offset; + const visiblePercentage = (visiblePart / headerHeight) * 100; + header.style.transition = '0.2s cubic-bezier(0.78, 0, 0.22, 1) transform'; + header.addEventListener('transitionend', () => { + header.style.transition = 'none'; + }, { once: true }); + + + if (visiblePercentage > 50) { + offset = 0; + header.style.transform = 'translateY(0)'; + } else { + offset = headerHeight; + header.style.transform = `translateY(-${headerHeight}px)`; + } + + } + + window.addEventListener('scroll', onScroll); + window.addEventListener('touchend', onTouchEnd); +} +document.addEventListener('DOMContentLoaded', hideHeaderOnScroll); \ No newline at end of file