Например есть св-во:
position: fixed;
top: 50px;
Нужно чтоб top изменялся относительно прокрутки страницы, пока не достигнет 0, а потом зафиксируется. С фиксированием например можно сделать так:
if (document.body.scrollTop > 50 || document.documentElement.scrollTop > 50)
Но как сделать остальное ?