Рассматриваем ситуацию, когда скрыта колонка rightbar.
Когда мы проматываем страницу до конца, жёлтое поле получает класс centralbar--fixed и position:fixed. Заметим, что других длинных элементов, высотой больше окна, в этот момент на странице нет. Есть только жёлтое поле, но он фиксировано и то, что оно вылезает выше верхнего края страницы не учитывается для скроллинга. Это означает, что скроллинг пропадает, т.е. в этот момент внезапно становится scrollTop = 0.
Что происходит дальше. Коль скоро значение scrollTop скакнуло в 0, в ту же секунду снова вызывается событие по скроллу, которое честно снимает только что установленный класс centralbar--fixed. Жёлтое поле становится нормально позиционированным, а поскольку scrollTop=0, то мы и видим его с самого начала (test1).
В вашем варианте предлагаю выключать обработчик скролла, когда он не нужен (скрыта колонка rightbar).
(function() {
$(window).on('scroll', myScrollFunction);
$('#timelineToggle').on('click', function() {
$('.rightbar').toggleClass('close');
$('.centerbar').toggleClass('test_2');
if ($('.rightbar').hasClass('close')) {
$(window).off('scroll');
else
$(window).on('scroll', myScrollFunction);
});
})(jQuery)
Где myScrollFunction, очевидно, ваш обработчик скролла, тот который в отдельном файле.