Do utrzymania w miejscu nawigacji i stopki najlepiej dać w CSS position: fixed;, do background-image background-attachment: fixed (tutaj).
#nav, #footer {
position: fixed;
}
body {
background-attachment: fixed;
}
Jeżeli używasz jQuery, do przewijania możesz skorzystać z pluginu scrollTo, który pojawił się w 4. odcinku kursu HTML u pana Zelenta. Wygląda to mniej więcej tak:
$('#ID_linku').click(function() {$.scrollTo($('#ID_elementu'), czas_przewijania)});
gdzie zamiast obiektu $('#ID_elementu') możesz dać piksele od początku strony