Advertisement
Liar4u

Untitled

Sep 24th, 2021
1,030
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CSS 2.14 KB | None | 0 0
  1. const items = document.querySelectorAll('.item');
  2. let placeholders = [...document.getElementsByClassName('placeholder')];
  3. const body = document.getElementsByTagName('body');
  4. // let arr = [...placeholders];
  5.  
  6. console.log(placeholders)
  7.  
  8. items.forEach(item=>{
  9.     item.draggable = true;
  10.     item.addEventListener('dragstart',dragstart);
  11.     item.addEventListener('dragend',dragend);
  12.   })
  13.  
  14. for (const placeholder of placeholders) {
  15.     placeholder.addEventListener('dragover', dragover);
  16.     placeholder.addEventListener('dragenter', dragenter);
  17.     placeholder.addEventListener('dragleave', dragleave);
  18.     placeholder.addEventListener('drop', dragdrop);
  19.   }
  20.  
  21. function dragstart(event) {
  22.     event.target.classList.add('hold');
  23.     setTimeout(() => event.target.classList.add('hide'), 0);
  24.     // console.log(Element.closest('.closed'))
  25.     let id = String(event.target.id)
  26.     const parent = document.getElementById(id)
  27.     console.log(parent)
  28. }
  29.  
  30. function dragend(event) {
  31.     event.target.classList.remove('hold', 'hide');
  32.     // console.log(event.target.classList)
  33. }
  34.  
  35. function dragover(event) {
  36.     if (![...event.target.classList].includes('closed') &&
  37.     [...event.target.classList].includes('placeholder')) {
  38.         event.preventDefault();
  39.     }
  40.     console.log(event.length)
  41. }
  42.  
  43. function dragenter(event) {
  44.     if (![...event.target.classList].includes('closed') &&
  45.     [...event.target.classList].includes('placeholder')) {
  46.         event.target.classList.add('hovered');
  47.     }
  48. }
  49.  
  50. function dragleave(event) {
  51.     event.target.classList.remove('hovered');
  52.     // event.target.classList.remove('closed');
  53. }
  54.  
  55. function dragdrop(event) {
  56.     const hold = document.querySelector('.hold')
  57.     event.target.append(hold);
  58.     event.target.classList.remove('hovered');
  59.     event.target.classList.add('closed');
  60.     hold.className = 'item';
  61.  
  62.     console.log([...event.target.classList].includes('closed'));
  63.     // closePlaceHolder(hold)
  64. }
  65.  
  66. function closePlaceHolder(placeholder) {
  67.     console.log(placeholder)
  68.     const index = placeholders.indexOf(placeholder);
  69.     placeholders.splice(index, 1);
  70.     console.log(placeholders);
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement