@del993788

Как устроена логика прокрутки колёсиком(скролла)?

Здравствуйте. Делаю свою кастомную прокрутку и столкнулся с такой проблемой: не могу понять, как работает скролл, а точнее "что происходит при кручении колёсика дважды и более".

Сейчас у меня есть такое:
https://jsfiddle.net/drkrol/mtvhrdgb/7/

Загвоздка вот в этом коде:
// условие при двойном кручении
    if (per1 == 1) {
     step = step + shag;
    } else {
     step = shag;
    }


Логика такая. Есть per1. При начале кручения он принимает значение 1, в конце анимации срабатывает код onComplete: function() {per1 = 0;}. При условии, когда per1 == 1 размер расстояния увеличивается на 1 шаг.

Проблема заключается в том, что если крутить колёсиком на 0.5 секунде (скорость анимации = 0.7), то через несколько таких прокруток вы улетите далеко вниз.

Если совсем убрать условие IF, то прокрутка будет рывками, а мне нужна плавность.

Вообще я стремлюсь вот к такому результату: maxlepinskih.com/prices , но я не понимаю, как это сделано у него. В его коде разобраться не смог.

И ещё нюанс один. Мне, чтобы оно плавно работало, нужно было убрать overflow у body, а в примере по ссылке у него плавно и сколлбар есть...

Скажите, как должно быть устроено условие IF, чтобы получилось, как у maxlepinskih?
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
22 мая 2024, в 07:09
50000 руб./за проект
22 мая 2024, в 02:15
10000 руб./за проект