не корректное поведение при втором условии в скрипте

Есть скрипт для фиксации экрана, в сторону фиксации работает отлично, и высоту считает как надо, но когда выполняется второе условие и окно скрывается, то вся страница пролистывается (скролится) к шапке сайта, что есть не верное поведение, причем скрипт то простейший, но не понимаю где не правильно пишу логику

/*--- Функция для фиксации экрана ---*/
function fixedBodySat() {
     scrollTop = $(window).scrollTop(); // Сохраняем текущую позицию прокрутки
     if ($('body').hasClass('sat_fixed')) {
        $('body').css({
            'overflow': 'inherit', // Включаем прокрутку
            'position': 'relative', // Сбрасываем позицию
            'top': 'inherit' // Сбрасываем сдвиг
        }); // Включаем прокрутку страницы
        $('body').removeClass('sat_fixed');
        $(window).scrollTop(scrollTop);
        overlayOpenTw();
    } else {
        $('body').css({
            'overflow': 'hidden', // Блокируем прокрутку
            'position': 'fixed', // Фиксируем позицию
            'top': -scrollTop // Сдвигаем страницу вверх на текущую позицию
        }); // Блокируем прокрутку страницы  
        $('body').addClass('sat_fixed');    
        overlayOpenTw(350);      
    }
}
/*--- END ---*/

Ответы (1 шт):

Автор решения: Solt

Так ведь написано же 'top': -scrollTop Вот оно и листает наверх, даже пытается больше чем наверх ))

→ Ссылка