Я использую drag-and-drop для HTML5.Как найти положение перетаскиваемого элемента относительно области сбрасывания
У меня возникли проблемы с поиском положения перетаскиваемого элемента относительно его родительского контейнера.
Резюме Задача
У меня есть "позиция: относительная" DIV, который я считаю 'Droppable область'. Внутри этого div у меня есть несколько «позиционных: абсолютных» элементов изображения, которые я обозначил как перетаскиваемые. Я хочу, чтобы эти изображения свободно перемещались пользователем.
Чтобы установить положение элемента, у меня есть слушатель на «dragend».
Конечные верхние/левые переменные должны быть процентными, а не пикселями.
Текущая Покушение
Ниже вы можете увидеть мою попытку:
draggable.addEventListener('dragend', function (event) {
event.preventDefault();
//Gets the position of the two elements relative to the viewport
var droppableBoundingRect = droppable.getBoundingClientRect();
//Establishes the percentage using the droppable height and width
var draggableXPercentage = ((event.clientX - droppableBoundingRect.left)/droppable.clientWidth) * 100;
var draggableYPercentage = ((event.clientY - droppableBoundingRect.top)/droppable.clientHeight) * 100;
//Set the positional elements of the draggable element
event.target.style.top = draggableYPercentage + "%";
event.target.style.left = draggableXPercentage + "%";
}, false);
А вот JSFiddle, что я надеялся на работу, с комментариями, показывая, что я ожидал, что каждый сегмент сделать:
https://jsfiddle.net/oL8yd9Lr/
Возможно, я смотрю на то дерево, в заблуждении лес. Буду признателен за любое руководство.