legongju.com
我们一直在努力
2024-12-23 12:57 | 星期一

js sortable能实现跨列表拖拽吗

JavaScript Sortable库本身不支持跨列表拖拽。但是,您可以结合其他库(如Sortable.js和Gridstack.js)来实现跨列表拖拽的功能。

这里是一个使用Sortable.js和Gridstack.js实现跨列表拖拽的示例:

  1. 首先,确保在您的项目中包含了Sortable.js库。您可以使用CDN链接或者下载到本地。

  1. 接下来,引入Gridstack.js库及其CSS样式。您可以使用CDN链接或者下载到本地。


  1. 在HTML中创建两个列表(使用
      元素)和多个可拖拽的元素(使用
    • 元素)。
  • Item 1
  • Item 2
  • Item 3
  • Item 4
  • Item 5
  • Item 6
  1. 使用JavaScript初始化Sortable对象和Gridstack对象。
const sortableList1 = new Sortable(document.getElementById('list1'), {
  animation: 150,
  onUpdate: function (event) {
    const item = event.item;
    const list = event.target;
    const targetIndex = Array.from(list.children).indexOf(item);
    const sourceIndex = Array.from(list.children).indexOf(item.previousSibling);

    if (sourceIndex > targetIndex) {
      list.insertBefore(item, list.children[targetIndex]);
    } else {
      list.insertBefore(item, list.children[targetIndex + 1]);
    }
  },
});

const gridstack = Gridstack.init({
  element: '#grid',
  columnWidth: 100,
  rowHeight: 100,
  autoPosition: true,
});
  1. 将可拖拽的元素添加到Gridstack对象中,并设置它们的xywidth属性。
const items = document.querySelectorAll('.item');
items.forEach((item) => {
  const x = Math.floor(Math.random() * 3);
  const y = Math.floor(Math.random() * 3);
  const width = 1;
  const height = 1;

  gridstack.add_item(item, x, y, width, height);
});

现在,您应该可以在两个列表之间拖拽元素了。请注意,这个示例仅用于演示目的,您可能需要根据您的需求进行调整。

未经允许不得转载 » 本文链接:https://www.legongju.com/article/29744.html

相关推荐

  • js爬虫如何选择合适的解析库

    js爬虫如何选择合适的解析库

    在选择JavaScript爬虫的解析库时,了解每个库的特点和适用场景至关重要。以下是一些流行的JavaScript爬虫解析库及其特点:
    Cheerio 特点:Cheerio是一个轻量...

  • js爬虫在爬取时如何避免封IP

    js爬虫在爬取时如何避免封IP

    为了避免在使用JavaScript爬虫爬取网站时被封IP,可以采取以下策略: 使用代理IP:通过使用代理IP,可以隐藏爬虫的真实IP地址,分散请求频率,降低被封IP的风险。...

  • js爬虫如何应对网站变化

    js爬虫如何应对网站变化

    要使JavaScript爬虫适应网站的变化,可以采取以下策略: 使用更通用的选择器:尽量避免使用特定于网站的类名、ID或属性。使用更通用的CSS选择器或XPath表达式,以...

  • js爬虫数据如何准确提取

    js爬虫数据如何准确提取

    在JavaScript中,准确提取网页数据通常涉及解析HTML文档、处理动态内容加载以及遵守反爬虫机制。以下是相关介绍:
    数据提取方法 DOM解析:使用JavaScript的...

  • js sortable的兼容性如何

    js sortable的兼容性如何

    Sortable.js 是一个流行的 JavaScript 库,用于使列表可排序。关于其兼容性,以下是一些关键信息: 浏览器支持:Sortable.js 在现代浏览器中得到了很好的支持,包...

  • js sortable能处理大数据量吗

    js sortable能处理大数据量吗

    JavaScript Sortable 是一个轻量级的库,用于在客户端对列表进行拖放排序。虽然它对于较小的数据集来说表现良好,但是当处理大量数据(例如数百或数千个项目)时...

  • js sortable有动画效果吗

    js sortable有动画效果吗

    Sortable.js库本身不提供内置的动画效果。但是,你可以通过自定义样式和过渡效果在Sortable.js中实现动画。
    以下是一个使用Sortable.js实现动画效果的简单示...

  • android ndk有移动端优化吗

    android ndk有移动端优化吗

    Android NDK(Native Development Kit)确实提供了移动端优化,它允许开发者使用C或C++等原生编程语言来编写部分应用程序代码,从而提高应用程序的性能和效率。以...