Hola:
No sé si el "ejemplo" debería ser un enlace, pero no se ve ninguna transición...
La teoría es por lo que veo, usar un temporizador... en javascript existen 2: setInterval (bucle infinito) y setTimeout, donde debes programar cada temporización (con perdón de la palabra...

)...
Si los tiempos de transición son siempre iguales puedes usar setInterval, pero para condiciones variables, creo que es mejor el ptro temporizador...
Se me ocurre que en este caso existan capas que ocupen el mismo espacio, y por cada activación del timer muestres solo una... pero la verdad es que como no termino de entender la pregunta solo planteo la teoría... si tienes esa tres capas definidas, será sencillo preparar el código (aunque es mejor que lo intentes tú

)
Saludos