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' }); + }); + }); +}