
Projects in a row with a ring
Scroll, Images, Text
NewLifetime
Scroll down and the strip moves sideways; when a panel with the time arrives, the slide before it stays still and shrinks while the panel covers it.
A folder that runs on its own: index.html, style.css, script.js and the libraries from a CDN.
The code for this animation is part of lifetime access.
The preview stays open: watch it, slow it down, try it on your phone.
Lifetime accessA screen as tall as the window with position: sticky and overflow: hidden; inside, a flex track as wide as all the slides. The section is as tall as the track's travel plus one screen, and a single scrubbed timeline moves the track one pixel left for every pixel scrolled. It is linear (ease none): the other effects need it that way.
Every other ScrollTrigger uses containerAnimation: the track's timeline. So start and end are written horizontally, for instance 'left right' (the element's left edge touches the screen's right edge) to 'right left'.
Inside each frame there is a layer 120% wide. While the frame crosses the screen the layer goes from a negative x (as much as it overhangs) to zero: the photo seems farther away than the page.
While the panel goes from 'left right' to 'left left', the slide before it moves right by the panel's width: the track carries it left, it moves right, and on screen it stands still. In the first quarter of that travel its content goes to scale 0.86 and disappears; then the digits of the time rise out of their masks one after another.
| Name | File | Default | What it changes |
|---|---|---|---|
RIMPICCIOLISCE | script.js | 0.86 | How far the covered slide shrinks while it disappears. |
SPARISCE | script.js | 0.25 | At what fraction of the panel's travel the covered slide has already gone. |
PARALLASSE | script.js | true | Photos slide inside their frame. With false they stay still. |
data-ora | index.html | sul pannello | Any slide with data-ora covers the one before it. It can hold a time, a title, a big number. |
For a photo story that runs like a roll of film: a reportage, a day, a collection. The covering panel is a chapter change without changing page.
The strip stays horizontal and is driven by the finger just like the wheel: frames and titles adapt to the screen height.
No strip: the slides sit one below the other, the photos are still and the time panels are ordinary sections.
GSAP 3.15.0, ScrollTrigger (GSAP) 3.15.0, Mona Sans (font variabile) 5.3.0.
Weight: 24 KB of our own files.
Tested on 27 September 2026
Use it in your own projects and in your clients’ projects. Do not resell it or redistribute it as is. GSAP stays under its own Standard license. Full license.
With your account’s email and password.
You’re signed in as .
Your plan is free. When lifetime access arrives, it will switch on for this same account.