Рубрики
Без рубрики

Как сделать перетаскивание в JavaScript

Итак, у меня были два предыдущих блога много просмотров, и теперь я думаю сделать еще один блог … Tagged with JavaScript, WebDev, Tutorial, HTML.

Итак, у меня были два предыдущих блога много просмотров, и теперь я думаю сделать еще один учебник по блогу Таким образом, в этом блоге мы делаем простую функцию Drag-n-Drop в JavaScript, и TBH она очень просто и просто для понимания.

Исходный код для Drag-n-Drop

Следуй за мной на GitHub

    

1

2

3

4

body {
    margin: 0;
    background-color: #ff4040;
}

.container {
    background-color: #333;
    padding: 1rem;
    margin-top: 1rem;
}

.draggable {
    padding: 1rem;
    background-color: white;
    border: 1px solid black;
    cursor: move;
}

.draggable.dragging {
    opacity: .5;
}
const draggables = document.querySelectorAll('.draggable')
const containers = document.querySelectorAll('.container')

draggables.forEach(draggable => {
    draggable.addEventListener('dragstart', () => {
        draggable.classList.add('dragging')
    })
    draggable.addEventListener('dragend', () => {
        draggable.classList.remove('dragging')
    })
})
containers.forEach(container => {
    container.addEventListener('dragover', e => {
        e.preventDefault()
        const draggable = document.querySelector('.dragging')
        container.appendChild(draggable)
    })
})

Так что это весь код, не объясняющий HTML и CSS, главным образом потому, что он довольно просто, мы просто делаем несколько девственных и некоторых абзацев, а в CSS мы просто немного их стилируем.

Обязательно свяжите свой JavaScript и CSS с HTML

Хорошо, теперь позвольте нам узнать, что мы делаем в JavaScript.

const draggables = document.querySelectorAll('.draggable')
const containers = document.querySelectorAll('.container')

draggables.forEach(draggable => {
    draggable.addEventListener('dragstart', () => {
        draggable.classList.add('dragging')
    })
    draggable.addEventListener('dragend', () => {
        draggable.classList.remove('dragging')
    })
})

Таким образом, в первой и второй строке кода мы просто добавляем наш класс в качестве Const в JavaScript, мы используем Queryseletorall, потому что у нас нет ни одной вещи, присвоенной одним и тем же классом. Okk So в четвертом, как мы делаем функцию Foreach для всех Draggebles, а затем мы просто добавляем в него eventlistener и даем ему «Dragstart» и добавляя в него стиль, используя Draggable.classlist.add . Мы делаем то же самое, но теперь мы заменяем Dragstart на конец перетаскивания, а также вместо того, чтобы добавить, что мы просто удаляем стиль.

containers.forEach(container => {
    container.addEventListener('dragover', e => {
        e.preventDefault()
        const draggable = document.querySelector('.dragging')
        container.appendChild(draggable)
    })
})

Умм, теперь мы делаем фальшивую для нашего Div (контейнеры), а затем добавляем eventlistener и просто делаем констант и назначающий «перетаскивание» Queryseletor, а затем просто AppendChild, что в основном означает добавление ребенка к нему.

Таким образом, вы можете сделать базовую функцию перетаскивания, используя этот код, и это было просто, верно?

Оригинал: “https://dev.to/heheprogrammer/how-to-make-a-drag-n-drop-in-javascript-16eo”