performanceArtist / slider-plugin

Third FSD task
https://performanceartist.github.io/slider/
0 stars 0 forks source link

Баги слайдера #6

Closed viktoriya-ch closed 5 years ago

viktoriya-ch commented 5 years ago

Если установлен размер шага 1, то после клика и перетаскивания бегунок дергается. Скорее всего, не учтено смещение курсора относительно бегунка. О том, как это исправить, можно почитать у Кантора (про shiftX, shiftY): https://learn.javascript.ru/drag-and-drop-objects

viktoriya-ch commented 5 years ago

Peek 2019-07-30 17-00

performanceArtist commented 5 years ago

Скорее всего, не учтено смещение курсора относительно бегунка.

Нет, оно учтено:

      const position = horizontal
        ? handleX + moveEvent.clientX - mouseX
        : handleY + moveEvent.clientY - mouseY;

Буду смотреть ещё, пока не совсем ясно, в чём там дело.

performanceArtist commented 5 years ago

Разобрался - дело в том, что у меня там есть ещё перемещение по клику. А mouseup как раз вызывает событие click, причём остановить это стандартными preventDefault/stopPropagation нельзя. Сделал установку булевой переменной и её проверку - не сильно красиво, но работает.

performanceArtist commented 5 years ago

Забыл ещё событие очистить - теперь должно работать.

viktoriya-ch commented 5 years ago

Все еще странно себя ведет: бегунок бежит быстрее мыши, останавливается например на значении 52, после отпускания мыши перескакивает на 59, и т.д.

Peek 2019-08-01 09-29

performanceArtist commented 5 years ago

У меня сейчас не перескакивает. Это в каком браузере? И я ещё не выкладывал на gh-pages.

viktoriya-ch commented 5 years ago

Я проверяю на локалке. Браузер Хром.

performanceArtist commented 5 years ago

Похоже проблема бьла в смещении относительно ширины ползунка - исправил в коммите с вынесением handleDrag в HandleView.

viktoriya-ch commented 5 years ago

Да, теперь правильно передвигается