Здравствуйте. Делаю свою кастомную прокрутку и столкнулся с такой проблемой: не могу понять, как работает скролл, а точнее "что происходит при кручении колёсика дважды и более".
Сейчас у меня есть такое:
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?