Я пытаюсь реализовать функцию перетаскивания изображения внутри элемента контейнера.
Я добавил в изображение события dragStart и dragEnd, и пытаюсь захватить координаты в начале и в конце, а затем применить разница в координатах как style = "transform: translate(dx, dy)"
Однако, что-то странное: похоже, что координаты начала и события не являются явными - когда я перетаскиваю изображение даже на пару пикселей вправо, я вижу довольно существенная разница в координатах х и у. Я пытался использовать pageX
/ pageY
, clientX
/ clientY
и screenX
/ screenY
- все ведут себя неосторожно, screenX / Y - худшие.
Проверьте fiddle - и попытайтесь перетащить зеленое изображение на несколько пикселей вправо ...
В чем здесь дело? я неправильно понимаю эти значения?
Редактировать: Кажется, что ondrag
координаты соответствуют ondragstart
- но в этом случае я, кажется, получаю другое событие с координатами 0,0 .. Я проверяю это с chrome 79.0.3945.130 на ма c.