From a762d15768c232e6864e9a89a4e8aceae0853aaa Mon Sep 17 00:00:00 2001 From: Antoine M Date: Tue, 7 Oct 2025 17:43:57 +0200 Subject: [PATCH] FEATURE Handle self page scrolling --- resources/js/app.ts | 2 ++ resources/js/page-scrolling.ts | 11 +++++++++++ 2 files changed, 13 insertions(+) create mode 100644 resources/js/page-scrolling.ts diff --git a/resources/js/app.ts b/resources/js/app.ts index cc9bf38..c3e4a6a 100644 --- a/resources/js/app.ts +++ b/resources/js/app.ts @@ -1,8 +1,10 @@ import menuInit from './header'; import initFooterShapes from './footer'; import handleScrollTop from './utilities/scroll-top'; +import handleInsidePageScrolling from './page-scrolling'; window.addEventListener('load', function () { // menuInit(); initFooterShapes(); handleScrollTop(); + handleInsidePageScrolling(); }); diff --git a/resources/js/page-scrolling.ts b/resources/js/page-scrolling.ts new file mode 100644 index 0000000..0912bfc --- /dev/null +++ b/resources/js/page-scrolling.ts @@ -0,0 +1,11 @@ +export default function HandleInsidePageScrolling() { + const insideLinks = document.querySelectorAll('a[href^="#"]'); + + insideLinks.forEach((link) => { + link.addEventListener('click', (e) => { + e.preventDefault(); + const target = document.querySelector(link.getAttribute('href')); + target?.scrollIntoView({ behavior: 'smooth' }); + }); + }); +}