Tekst został podzielony na fragmenty, a sama animacja jest zrobiona w CSS. Są tutaj użyte position: absolute (left i top) oraz transition (ease), aby nadać płynne przejście elementom w trakcie zmiany położenia. Dodatkowo obsługa zdarzeń w JS i odpowiednia zmiana klas w zależności o scrollu.
Tak w ogóle polecam używać narzędzi programistycznych przeglądarki. Wtedy takie pytania staną się zbędne.