У меня уменьшается синхронно по обоим сторонам - https://jsfiddle.net/bp2067z2/
UPD. Возможно вам нужно или unbind функцию на scroll или ввести проверку что анимация началась и повторно при скролле ее не пытаться запустить.
$(window).unbind('scroll');
Но в вашем случае, наверное, код сложнее, и надо что-то типа глобальной переменной block_animation_started=0; во время запуска внимации сделать block_animation_started = 1 и проверять кроме top >= maxTop еще и block_animation_started == 0.
Можно сделать красивее, через addClass (несуществующий класс) и проверку наличия этого класса.