Torna il colore originario perché quando rilasci il mouse la pagina viene ricaricata.
La variazione dello sfondo deve avvenire quando la nuova pagina viene aperta, non appena prima di chiudere la vecchia.
codice:
$(function(){// al caricamento della pagina
    var qstring=location.search.replace('?menu=',''); //recupero il valore passato 
    //e imposto lo sfondo:
    var bg;
    switch(qstring){
        case '1': bg='#000'; break;
        case '2': bg='#666'; break;
        //ecc.
    }
    $("body").css("backgroundColor",bg);
});
Ciao