Размещение элемента над существующим элементом JavaScript - PullRequest
1 голос
/ 06 августа 2020

Я использую функцию перетаскивания с помощью 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>

Мой код не работает, фактически он не позволяет работать с функцией сброса.

Как я могу заставить это работать?

...