Ты никогда не сведешь анимацию при перезагрузке страницы. Поэтому, чтобы она была плавной, тебе необходимо либо на Vanilla.js сделать реализацию без перезагрузки, т.е. в рамках одной страницы, либо использовать js-фреймворк типа Vue, React, Angular + анимация переходов между состояниями.
Впрочем, у тебя прямо перед носом сырцы, которые ты можешь скачать и разобрать.