Lenis and ScrollTrigger fight each other inside pinned sections If you use Lenis smooth scroll wi...Lenis and ScrollTrigger fight each other inside pinned sections If you use Lenis smooth scroll wi...
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
Lenis and ScrollTrigger fight each other inside pinned sections If you use Lenis smooth scroll with GSAP ScrollTrigger pinned sections, you've probably seen the jitter. Lenis interpolates/changes scroll position. It smooths the raw scroll input into a flowing value. ScrollTrigger reads that value to calculate scrub progress. The problem shows up inside pinned sections where scroll position maps directly to animation progress. High Lenis lerp (like 0.85) = responsive but stuttery. The scroll value snaps close to the target, and ScrollTrigger gets jumpy position changes. Low lerp (like 0.12) = smooth but drifty. The scroll value takes so long to settle that the animation keeps gliding after you stop scrolling. The fix I use now is switching Lenis lerp values dynamically. When the user scrolls into a pinned sequence section, bump lerp to 0.85 for direct control. When they leave, drop it back to 0.12 for that smooth feel everywhere else. On the canvas side, I also added frame-level easing. You can suggest something better :) Instead of jumping the displayed frame directly to the target frame index, the canvas interpolates toward it. The displayed frame glides to match the scroll position rather than popping. This absorbs the micro-jitter from Lenis's tick rate without adding visible delay. Two layers of smoothing. Lenis smooths the scroll input; frame easing smooths the output. Between them, the animation looks continuous.
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started