Me ne sono accorto solo adesso che il topic è stato spostato nella sezione JS... ora si torna a parlare di CSS? 
Comunque, tornando su animate e sulla struttura precedente, prova a vedere se era questo che intendevi
codice:
$(document).ready(function () {
$('ul#menu').css('left', '9000px');
$('ul#menu a[href="#zero"]').trigger('click'); // al refresh si torna alla sezione zero
$('a').click(function () {
var ancora = $(this).attr('href');
if (ancora == '#zero')
$('ul#menu').css('left', '9000px')
else
$('ul#menu').animate({
'left': '50%'
}, 900);
})
});