Вы можете использовать функцию afterFinish следующим образом
Event.observe($('back1'), 'mouseover', function() {
new Effect.Fade('back1', { duration: 0.3,afterFinish:function () {
new Effect.Appear('back2', { duration: 0.3 });
}
});
});
Event.observe($('back2'), 'mouseout', function() {
new Effect.Fade('back2', { duration: 0.3 ,afterFinish:function () {
new Effect.Appear('back1', { duration: 0.3 });
}
});
});