不使用外部库的简单拖放和排序
创始人
2024-12-29 13:00:14
0

以下是一个示例解决方案,使用JavaScript实现简单的拖放和排序,不依赖于任何外部库。

HTML代码:

Item 1
Item 2
Item 3

JavaScript代码:

// 获取列表元素
var sortableList = document.getElementById("sortable-list");

// 设置拖动的元素的数据
function drag(event) {
  event.dataTransfer.setData("text/plain", event.target.id);
}

// 允许拖放
function allowDrop(event) {
  event.preventDefault();
}

// 完成拖放
function drop(event) {
  event.preventDefault();
  var data = event.dataTransfer.getData("text/plain");
  var draggableElement = document.getElementById(data);
  var dropzone = event.target;

  // 如果拖动的元素不是排序项,则找到其父级排序项
  if (!draggableElement.classList.contains("sortable-item")) {
    draggableElement = draggableElement.parentNode;
  }

  // 如果拖放目标是排序项,则插入到其前面
  if (dropzone.classList.contains("sortable-item")) {
    dropzone.parentNode.insertBefore(draggableElement, dropzone);
  }
  // 否则将元素追加到列表末尾
  else {
    sortableList.appendChild(draggableElement);
  }
}

通过以上代码,你可以实现一个简单的拖放和排序功能。每个可拖动的项都包含一个draggable属性和相应的拖放事件处理程序。当拖动项时,将其ID存储在dataTransfer中。当放置项时,根据拖放事件的目标元素和位置,将拖动项插入到正确的位置。

相关内容

热门资讯

黑科技神器!we辅助poker... 黑科技神器!we辅助poker德之星(微扑克有挂么)往昔有挂(有挂总结)-哔哩哔哩是一款可以让一直输...
黑科技好牌!德州之星插件(wp... 黑科技好牌!德州之星插件(wpk到底有没有外挂)果然是真的有挂(有挂神器)-哔哩哔哩1、起透看视 w...
黑科技中牌率!wpk有透视辅助... 1、黑科技中牌率!wpk有透视辅助(德扑ai智能机器人)原生是有挂(果真有挂)-哔哩哔哩;详细教程。...
黑科技最新!poker软件免费... 黑科技最新!poker软件免费(wepokeai代打)固有存在有挂(有挂方式)-哔哩哔哩是一款可以让...
黑科技肯定!gg扑克发牌(德扑... 黑科技肯定!gg扑克发牌(德扑ai智能机器人)竟然是真的有挂(有挂细节)-哔哩哔哩,您好,德扑ai智...
黑科技好友!epoker外挂(... 黑科技好友!epoker外挂(wepoke智能ai)都是存在有挂(确实有挂)-哔哩哔哩1、让任何用户...
黑科技真的!约局吧有辅助(we... 黑科技真的!约局吧有辅助(wepokeai代打)素来是真的有挂(确实有挂)-哔哩哔哩1、用户打开应用...
黑科技教学!云扑克外挂(aap... 1、黑科技教学!云扑克外挂(aapoker发牌机制)一向有挂(有挂实锤)-哔哩哔哩。2、aapoke...
黑科技插件!gg扑克发牌系统(... 黑科技插件!gg扑克发牌系统(德扑ai智能机器人)都是有挂(有挂助手)-哔哩哔哩1.德扑ai智能机器...
黑科技存在!鱼扑克辅助(微扑克... 黑科技存在!鱼扑克辅助(微扑克ai机器人)其实有挂(有挂透视)-哔哩哔哩1、用户打开应用后不用登录就...