От АПИ скролла уже мозги поплыли ;(
Прошу помощи. Требуется добится такого поведения от хедера при скролле:
1. Изначальное состояние `absolute`. Меняется на `fixed` только когда скролл прокручивается на размер хедера. Это принципиально важно. Это вроде как сделано.
2. Обратно `absolute` становится при прокрутки в самый топ. Это вроде как сделано.
3. При скроллинге наверх, `fixed` должно добавлятся по пикселю, одинаково со скоростью скролла. Это вроде как сделано.
4. А вот тут уже мозг отказывается работать. При скроллинге вниз, когда но не первоначальном, а когда отработал скроллинг вверх, баг. Я не могу понять как вычислять тут значение. Чтобы понятнее - если с самого верха прокрутить вниз, потом прокрутить наверх пока не вылезет хедер (но не до конца самого страницы), и потом опять вниз - можно увидеть мигание. Это кривое вычисление значения, оно превышает предел.
5. Также небольшой баг (но не так важный как п. 4): если обновить страницу (важно!), потом медленно прокрутить хедер примерно наполовину вниз, и потом попробовать вверх - он исчезает. Как бы тут исправить, чтобы все остальное не поломать?
6. И в целом как оптимизировать этот говнокод? Я уверен, что я это криво вычисляю все, но эти скролл ивенты это прямо вообще мучительно.
Огромное спасибо если кто-то глянет на эту лапшу, потмоу что я все...
https://codepen.io/kode88/pen/qQorRZ