Hi,
In my own projects, I would start a coroutine on button click. The coroutine would handle the button animation and maybe also other effects in this context. When the coroutine is done executing its code, I would call LoadScene.
Since you are working with animations, an animation event at the end of the animation could be an alternative way to solve your problem. Look animation events up in the Unity docs if you don’t know them yet.
Hopefully, this helped. 
See also:
- Forum User Guides : How to mark a topic as solved