Make me a bad fade animation... please

Pyth - 25 24 bytes

Will refactor.

AC.tQdV.SU
G
[email protected]_1

Try it online here.


MATL, 33 bytes

cn2/XKZ@!Oyhg*XR"GcK:@mK:Eq+)D1Y.

Try it at MATL Online. You may need to refresh the page and press "Run" again if it doesn't work.

Alternatively, this version (35 bytes) deletes the screen before each new string is displayed, which results in the output being "modified in place":


Python 2, 171 169 168 163 bytes

import time,random as r
def f(a,b):
 d=len(a)-len(b);a+=' '*-d;b+=' '*d;o=range(len(a));r.shuffle(o);print a
 for i in o:time.sleep(1);a=a[:i]+b[i]+a[i+1:];print a

Test cases are on ideone