Yes @Rodrigo, it is as I need it.
The only thing missing is that user should be able to pause between the sections with the scroll. i.e. current active section's animation should not pause with user pausing the scroll.
Let me try to explain a bot more;
We have 3 sections here. Suppose a section takes an height of 200px, the total height of the animated sections would be 600px.
The intended animation would be:
First section comes into view normally, and get's pinned when it's top reaches top of viewport.
First section stays as is until user scrolls 200px, i.e until top of second section touches top of viewport, when this happens the first section moves out of view, and the second comes into view.
User scrolls 200px more, When third section touches top, second moves out of view and third comes into view.
If user scrolls past the third section, i.e. 200px more, it should just scroll out of view normally.
And if user scrolls back to top, everything should work in reverse.