Я использую функцию перетаскивания с помощью JavaScript.
У меня есть карты, вставленные в панель, и я хочу, чтобы они при перетаскивании вставлялись в новую панель в зависимости от срочности item.
retrieveInd()
получает срочность элемента, используя класс, связанный с ним, с числом, упрощающим сравнение: от 0 до 3.
function retrieveInd(u) {
var us = ['low','medium','high','critical'];
for(x = 0; x < us.length; x++){
if(us[x] === u){
return x;
}
}
}
function drop(ev, el) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
let u = ((document.getElementById(data).getElementsByClassName('urgency'))[0].classList[1]);
var els = el.querySelectorAll('.panel-item');
els.forEach((elx) => {
var cel = retrieveInd(elx.getElementsByClassName('urgency')[0].classList[1]);
console.log(retrieveInd(u), cel)
if(u > cel){
el.insertBefore(elx, document.getElementById(data))
}
})
}
Пример элемента панели
<div class="panel-item" draggable="true" ondragstart="drag(event)" id="panel-item-1">
<div class="panel-item-title">
panel title
</div>
<div class="panel-item-urgency">
<div class="urgency critical"></div>
</div>
</div>
Мой код не работает, фактически он не позволяет работать с функцией сброса.
Как я могу заставить это работать?