Smoothly animate a DOM element swap from one to another