Nam, here is one quick method to reproduce something similar.
https://cdn.soft8soft.com/AROAJSY2GOEHMOFUVPIOE:ea7b2c37e4/applications/scrolltrigger/scrolltrigger.html
I created a div block over the top of my blender scene (absolute position, 100% width, 100% height, opacity color 0). With that html element there, I can then use the “on event” of “wheel” to trigger the animations sequentially. The “wheel” event doesn’t return whether I scrolled up or down on my mouse (nor did the website in your example) so it moves sequentially from left to right. When it gets to the end, it moves back to the start.
One thing to note about overlaying html over your 3d scene is you can no longer interact with your scene with the mouse (the html element, the div block here, covering 100% of screen, is in the way)
You can switch back to control of your 3d scene by using the HTML set “display” = “none” for the div element, or setting the z-index to a lower number than the 3d scene canvas.