Плавающий верх сайта, меню, логотип, контакты, как менять стили при откреплении от верха?
Вот – простой и понятный пример. Без кучи мусора.
https://jsfiddle.net/DelphinPRO/dztLf9no/

snippet
Тут все разжевали Можно сделать вывод, что требуется сторонняя библиотека, ибо все решения, имеют проблемы.
Эта библиотека делает то, что вам нужно.