как вариант:
— Слушаешь событие scroll для окна, при скролле сверяешь начальное положение блока с высотой прокрутки, если изменилась то дальше уже меняешь положение либо через абсолютное позиционирование, либо отступами сверху.
ещё можно взять готовое решение на jquery, их полно