При прокрутке страницы будет меняться CSS для элемента. Первоначально элемент имеет свойство fixed, а после прокручивания улетает на свое место, заменяя на position: static;
Собственно код интересен первое, как вы уже поняли изменением CSS, а второе, можно более подробно изучить свойства offsetTop - расстояние текущего элемента по отношению к верхней границе страницы и window.pageYOffset - значение прокрутки от верха окна.
Пример элемента с переменными стилями в зависимости от прокрутки страницы JS
Запускается JS с помощью оператора window.addEventListener('scroll', function() посредством события прокручивания странички.
Смотреть код JS