CASE statement Afterwards applied, although the order of the code is different (fade-out/fade-in onClick button event)

@russian-dima but you know that the .then() that Igor used is equivalent to your await, so the correction is not really correction.
The problem is that it takes a short time to the new image to render and in this short time the old image is still there.
So the solution will be either to use 2 images (only one them is shown at each specific time), and replace the src of the hidden image before you start to fading out the other image. OR to use a single image but add a short timeout before you start fading it in.