Home Work
SaaS developmentAI developmentAPI developmentMobile app developmentGoogle Ads managementHeadless ShopifyLaravel developmentNext.js developmentReact developmentTypeScript engineeringUI/UX designSEO & AEOEcommerce development
AI solutionsB2B platformsE-commerceHospitalityLead generationLogisticsEducationProcess automationSaaS platformsStartup MVPReal estateHealthcare
LegalHealthcareReal estateFinanceHospitality
The HagueRotterdamAmsterdamUtrechtEindhovenAlmereBredaArnhemNijmegenTilburgEnschedeGroningenLeidenDelftZoetermeerDen Bosch
Studio
AboutProcessLabBlogContact

Vloeiend scrollen (Lenis-basis) New

Smooth scrolling as a base module inside its own scroll area: loads Lenis 1.3 (MIT) from jsdelivr and falls back to a 30-line custom variant. Anchor links ease along, an inner list with data-lenis-prevent scrolls natively and prefers-reduced-motion keeps native scrolling. Use it on story-driven pages with scroll animations, not on shops with long lists or form pages.

Lenis laden

Bakkerij Van Dam · Haarlem, sinds 1962

Desembrood, elke ochtend om 6:30 uit de oven.

[ 01 ] Brood

  • Desem wit€ 4,20
  • Spelt volkoren€ 4,60
  • Roggebrood Fries€ 3,85
  • Krentenbol, per 6€ 3,90

[ 02 ] Taart bestellen

Bestel uiterlijk twee dagen vooraf. Slagroomtaart voor 8 personen € 24,50, ophalen vanaf 8:00.

[ 03 ] Openingstijden

Eigen scrollvlak met data-lenis-prevent:

  • ma 7:30 tot 18:00
  • di 7:30 tot 18:00
  • wo 7:30 tot 18:00
  • do 7:30 tot 18:00
  • vr 7:30 tot 19:00
  • za 7:00 tot 17:00
  • zo gesloten
  • 2e kerstdag 9:00 tot 13:00

[ 04 ] Wanneer wel, wanneer niet

Wel: verhalende pagina's waar scrollanimaties (GSAP, scroll-timeline) dezelfde, rustige scrollwaarde moeten lezen.

Niet: webshops met lange productlijsten, formulierpagina's of pagina's zonder scrollanimatie. Dan voelt het alleen trager.

Altijd: uit bij prefers-reduced-motion, en binnenpanelen markeren met data-lenis-prevent.

How to use it

  1. Paste the HTML where the scroll effects should appear.
  2. Add the CSS to your stylesheet. All classes are prefixed, so nothing clashes with your own styles.
  3. Add the JavaScript and call init() with the element that contains the HTML.
<!-- Vloeiend scrollen (Lenis-basis) · Bron: Lenis (darkroom.engineering) · licentie MIT. Laat deze vermelding staan bij hergebruik. -->
<div class="jouw-container">
<div class="lnb">
<div class="lnb__bar"><span class="lnb__st" role="status">Lenis laden</span><button class="lnb__tg" type="button" aria-pressed="true">Vloeiend aan</button></div>
<div class="lnb__sc" tabindex="0" aria-label="Voorbeeldpagina Bakkerij Van Dam"><div class="lnb__in">
<p class="lnb__k">Bakkerij Van Dam · Haarlem, sinds 1962</p>
<h4 class="lnb__h">Desembrood, elke ochtend om 6:30 uit de oven.</h4>
<nav class="lnb__nav" aria-label="Op deze pagina"><a href="#brood" data-to="brood">Brood</a><a href="#taart" data-to="taart">Taart bestellen</a><a href="#tijden" data-to="tijden">Openingstijden</a><a href="#wanneer" data-to="wanneer">Wanneer wel</a></nav>
<div class="lnb__s" data-sec="brood" tabindex="-1"><p class="lnb__sk">[ 01 ] Brood</p><ul class="lnb__ul"><li><span>Desem wit</span><span>€ 4,20</span></li><li><span>Spelt volkoren</span><span>€ 4,60</span></li><li><span>Roggebrood Fries</span><span>€ 3,85</span></li><li><span>Krentenbol, per 6</span><span>€ 3,90</span></li></ul></div>
<div class="lnb__s" data-sec="taart" tabindex="-1"><p class="lnb__sk">[ 02 ] Taart bestellen</p><p>Bestel uiterlijk twee dagen vooraf. Slagroomtaart voor 8 personen € 24,50, ophalen vanaf 8:00.</p></div>
<div class="lnb__s" data-sec="tijden" tabindex="-1"><p class="lnb__sk">[ 03 ] Openingstijden</p><p class="lnb__mini">Eigen scrollvlak met data-lenis-prevent:</p>
<ul class="lnb__lijst" data-lenis-prevent tabindex="0" aria-label="Openingstijden per dag"><li>ma 7:30 tot 18:00</li><li>di 7:30 tot 18:00</li><li>wo 7:30 tot 18:00</li><li>do 7:30 tot 18:00</li><li>vr 7:30 tot 19:00</li><li>za 7:00 tot 17:00</li><li>zo gesloten</li><li>2e kerstdag 9:00 tot 13:00</li></ul></div>
<div class="lnb__s" data-sec="wanneer" tabindex="-1"><p class="lnb__sk">[ 04 ] Wanneer wel, wanneer niet</p>
<p><b>Wel:</b> verhalende pagina's waar scrollanimaties (GSAP, scroll-timeline) dezelfde, rustige scrollwaarde moeten lezen.</p>
<p><b>Niet:</b> webshops met lange productlijsten, formulierpagina's of pagina's zonder scrollanimatie. Dan voelt het alleen trager.</p>
<p><b>Altijd:</b> uit bij prefers-reduced-motion, en binnenpanelen markeren met data-lenis-prevent.</p></div>
</div></div></div>
</div>

More scroll effects

Seen something you like?

Add it to your selection and send it over. We build your site around it, in your brand.

Get in touch →