Il fatto che funzioni bene solo quando i div sono posizionati assolutamente e non viceversa, mi sembra che sia causato dal fatto che i div, in posizione relativa, stanno uno sotto l'altro e quindi prima appaiono più in basso, per poi spostarti in alto quando l'effetto ha finito il suo "corso".

Per capire meglio basta andare qui: http://www.ivanisevic82.com/pages/struttura.php#
e cliccare su Prova3 -Prova4 - Prova5.

Prova1 e 2 invece sono posizionati assolutamente.

Come si può risolvere?

Grazie!