@htmlclassic

Как плавно перемещать элемент при движении курсора?

При нажатии на элемент и ведении мышки в сторону, элемент должен плавно перемещаться вместе с курсором.

Пытался сделать так (упрощённо объясню):
на элемент вешаю ивент mousemove

в ивенте пишу
element.style.transform = `translateX(${oldTranslateX + 1}px)`

mousemove чёт отрабатывает очень ужасно: если вести курсор очень медленно, то сойдёт, если вести с норм скоростью то ивент как-будто не отрабатывает свою задачу, транслейт вообще не происходит, в итоге курсор убегает вперед (элемент прошел на 10пкс а курсор уже убежал на все 30пкс).
думал увеличить шаг, прибавлять не 1 пиксель, а больше, выглядит плохо + с производительностью то же самое.

Как-то уже пытался делать свой кастом скроллбар тоже с помощью mousemove -- абсолютно была та же самая ситуация, mousemove тупит как чёрт знает что. Тогда так и не разобрался.

Расскажите, пожалуйста, почему mousemove так себя ведет, как это фиксить в моём случае, и есть ли нормальное альтернативное решение.
  • Вопрос задан
  • 210 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы