Как присвоить/убрать position: fixed; при скроллинге?
В общем виде советую решение следующее:$(window).scroll(function(){
        if ($(window).scrollTop() > 400) {
            $('.header').addClass('header-fixed');
        }
        else {
            $('.header').removeClass('header-fixed');
        }
    });
Аналогично и для других элементов. Естественно, условия прописывайте сами. Ну и соответствующим образом прописывайте классы.
Для того, чтобы Вам помогли прописать конкретно для Вашего примера - нужна Ваша разметка и условия фиксации блоков.
Описать условия скроллинга сможете?
Верхнее меню
//Условие
$('nav').css('position', 'fixed');
//Условие при обратном скролле
$('nav').css('position', '');
Вот готовый пример: demo.hongkiat.com/css-sticky-position/index2.html