Бюджет:
2500 руб
На сайте имеется 'position: fixed' элемент.
Необходим JS-код для плавного отклонения позиции элемента (через влияние на margin-top или top, первый вариант предпочтительнее) во время скролла. Если скролл вниз элемент плавно уходит наверх, и наоборот, с последующим запуском bounce-анимации.
Алгоритм такой:
При скролле вычисляется вектор, модуль длины которого будет определять величину отклонения элемента от нулевой позиции (но не более 10% высоты экрана).
Параллельно со скроллом и вычислением вектора начинается плавное смещение элемента.
После завершения скролла необходимо "отпустить" отклонение элемента и запустить bounce-анимацию (порядка 300-600мс).
Смещение идёт по графику затихающей косинусоиды, в том числе и отрицательное. При t = 0 базовой точкой начала отклонения является модуль длины вычисленного вектора.
Скролл нужен только горизонтальный. За реализацию на чистом JS + 500 руб.