En vanillaJs tu peux utiliser l'API Intersection Observer
Doc : https://developer.mozilla.org/fr/docs/Web/API/Intersection_Observer_API
Tuto : https://www.youtube.com/watch?v=Qoa-N30FrSY
Sinon tu peux utiliser la librairie scrollreveal:
https://scrollrevealjs.org/