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);
    })
});