【Sortable】前端拖拽库 | 简洁 | 实用 | 强大

news2024/9/23 9:33:12

前言

  • 官网 - http://www.sortablejs.com/index.html
  • 中文文档 - https://www.itxst.com/sortablejs/neuinffi.html
  • npm - https://www.npmjs.com/package/sortablejs

npm下载

npm i sortablejs

umd

  <script src="https://www.itxst.com/package/sortable/sortable.min.js"></script>

例子

    const el = document.querySelector('.template-group')//拖拽的父元素
    new Sortable(el, {
        group: { name: "z", pull: true, put: true },
        filter: '.viz-group',// 过滤
        draggable: ".viz-item",//拖拽的元素
        animation: 300,//动画时间
        handle: ".viz-move",//拖拽句柄  - 就是要拖拽的子元素
        easing: 'cubic-bezier(0.16, 1, 0.3, 1)',//动效 
        ghostClass: 'drop-select',//拖拽class
    }) 

拖拽句柄解释

如下图

  • 假如设置了拖拽句柄,要拖拽红框的元素,黄框就是拖拽句柄。
  • 只有当拖拽句柄才能拖拽红框元素

在这里插入图片描述

Demo

demo.html

<style>
    .box {
      width: 200px;
      max-width: 220px;
    }

    .item,
    .title {
      display: flex;
      justify-content: space-between;
      height: 30px;
      align-items: center;
      border: solid 1px #ccc;
      border-style: none none solid solid;
    }

    .title {
      background-color: #f4f4f4;
    }

    .move {
      background-color: rgb(116, 199, 202);
      width: 30px;
      height: 100%;
      cursor: grab;
    }

    .move:hover {
      background-color: cadetblue;
    }

    /* 拖拽样式 */
    .drop-select {
      background: rgba(18, 188, 255, 0.25);
    }
  </style>
  <body>
    <div class="box">
      <!-- .item拖拽的元素 -->
      <div class="item">
        <div class="item-grid">文本1</div>
        <!-- .move 拖拽的句柄 -->
        <div class="move"></div>
      </div>
      <div class="item">
        <div class="item-grid">文本2</div>
        <div class="move"></div>
      </div>
      <div class="item">
        <div class="item-grid">文本3</div>
        <div class="move"></div>
      </div>
      <div class="item">
        <div class="item-grid">文本4</div>
        <div class="move"></div>
      </div>
      <div class="item">
        <div class="item-grid">文本5</div>
        <div class="move"></div>
      </div>
      <div class="item">
        <div class="item-grid">文本6</div>
        <div class="move"></div>
      </div>
      <div class="title">更多</div>
      <div class="item">
        <div class="item-grid">6666</div>
        <div class="move"></div>
      </div>
      <div class="item">
        <div class="item-grid">7777</div>
        <div class="move"></div>
      </div>
      <div class="item">
        <div class="item-grid">520</div>
        <div class="move"></div>
      </div>
    </div>
    <script src="https://www.itxst.com/package/sortable/sortable.min.js"></script>
    <script>
      const el = document.querySelector(".box");
      new Sortable(el, {
        group: { name: "group1", pull: true, put: true },
        filter: ".title", // 过滤
        draggable: ".item", //拖拽的元素
        animation: 300, //动画时间
        handle: ".move", //拖拽句柄  - 就是要拖拽的子元素
        easing: "cubic-bezier(0.16, 1, 0.3, 1)", //动效
        ghostClass: "drop-select", //拖拽class
      });
    </script>
  </body>

效果

拖拽前

在这里插入图片描述

拖拽中

在这里插入图片描述

拖拽后

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/814682.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

达梦数据库食用说明

环境准备 达梦数据库支持Windows、Linux和Unix操作系统&#xff0c;达梦正式版需要授权&#xff0c;我们学习的话选择试用即可&#xff0c;在本机使用VM安装一个Centos&#xff0c;然后去达梦官网下载适用自己平台的安装包。 本教程使用的是VM安装的centos7.9。所以选择X86架…

伯俊ERP与金蝶云星空对接集成表头表体组合查询连通应付单新增(应付单(伯俊)(KD 应付单)ok)

伯俊ERP与金蝶云星空对接集成表头表体组合查询连通应付单新增(应付单(伯俊)&#xff08;KD 应付单&#xff09;ok) 数据源系统:伯俊ERP 伯俊科技&#xff0c;依托在企业信息化建设方面的领先技术与实践积累&#xff0c;致力于帮助企业实现全渠道一盘货。伯俊提供数字经营的咨询…

经典文献阅读之--NoPe-NeRF(优化无位姿先验的神经辐射场)

0. 简介 在没有预先计算相机姿态的情况下训练神经辐射场&#xff08;NeRF&#xff09;是具有挑战性的。最近在这个方向上的进展表明&#xff0c;在前向场景中可以联合优化NeRF和相机姿态。然而&#xff0c;这些方法在剧烈相机运动时仍然面临困难。我们通过引入无畸变单目深度先…

SZMMSZ5246BT1G 稳压二极管(齐纳Zener二极管)的特性和应用详解

关于齐纳二极管&#xff1a;是一种特殊的二极管&#xff0c;也被称为肖特基二极管&#xff08;Schottky Diode&#xff09;。它是由金属与半导体材料的结合构成的。与普通的PN结二极管不同&#xff0c;齐纳二极管的结由金属与半导体材料组成&#xff0c;而不是两个不同的半导体…

菜单 vue3 h函数创建组件

目录 index/.vue <template><div class"menu_table"><divclass"table_row"v-for"(item, index) in menuList"click"item.disabled ! true && itemClick(item)"><!-- :style"{border-top:item.line…

一文了解DMX512透明屏的工作原理

DMX512透明屏是一种新型的显示屏技术&#xff0c;它采用了DMX512控制协议&#xff0c;可以实现透明显示效果。 DMX512是一种数字控制协议&#xff0c;常用于舞台灯光和音响设备的控制&#xff0c;通过DMX512控制器可以实现对透明屏的亮度、颜色、动画等参数的调节。 DMX512透明…

泛微最新漏洞汇总

泛微 e-cology 前台SQL注入漏洞 app.name"泛微 e-cology 9.0 OA" 验证poc: POST /weaver/weaver.file.FileDownloadForOutDoc HTTP/1.1 Host: {{Hostname}} Accept: */* Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q0.9 Connection: close …

探索前端图片如何携带token进行验证

前言 图片在前端开发中扮演了重要的角色&#xff0c;它们不仅仅是美观的元素&#xff0c;还可以传递信息和激发用户的兴趣。随着应用场景的增多&#xff0c;前端开发人员就需要在图片加载过程中携带验证的信息。如 token&#xff0c;用于身份验证、权限控制等方面。通过在图片的…

揭示C语言中CPU对register变量分配的决策过程

揭示C语言中CPU对register变量分配的决策过程 博主简介一、引言1.1、register变量的定义和用途1.2、CPU对register变量分配的重要性 二、CPU寄存器分配的概述2.1、CPU寄存器的作用和程序执行过程中的角色2.2、不同类型的CPU寄存器&#xff08;通用寄存器、特殊寄存器等&#xf…

redis基础总结(数据类型)

Redis十大数据类型 String String 是redis最基本数据类型,一个key对应一个value. String类型是二进制安全的,意思是Redis的string类型可以包含任何数据,比如jpg图片或者序列化的对象; String类型是最基本的数据类型,一个redis中字符串value最多是512M; String类型在redis底层…

【已解决】span的宽度与高度如何设置

本博文源于笔者基础不扎实的情况下遇到的一个问题&#xff0c;问题是我有三个span&#xff0c;想让它们宽度与高度再大点&#xff0c;结果发现怎样设置都设置不了。最后不经意间解决问题 文章目录 1、问题再现2、解决方案3、解决效果 1、问题再现 <span>1</span>…

邪恶版ChatGPT来了!

「邪恶版」ChatGPT 出现&#xff1a;每月 60 欧元&#xff0c;毫无道德限制&#xff0c;专为“网络罪犯”而生。 WormGPT 并不是一个人工智能聊天机器人&#xff0c;它的开发目的不是为了有趣地提供无脊椎动物的人工智能帮助&#xff0c;就像专注于猫科动物的CatGPT一样。相反&…

一份热乎乎的字节面试真题

一份热乎乎的字节面试真题 说说Redis为什么快 基于内存存储实现 内存读写是比在磁盘快很多的&#xff0c;Redis基于内存存储实现的数据库&#xff0c;相对于数据存在磁盘的MySQL数据库&#xff0c;省去磁盘I/O的消耗。 高效的数据结构 Mysql索引为了提高效率&#xff0c;选…

【unity】Pico VR 开发笔记(基础篇)

Pico VR 开发笔记(基础篇) XR Interaction Tooikit 版本 2.3.2 一、环境搭建 其实官方文档已经写的很详细了&#xff0c;这里只是不废话快速搭建&#xff0c;另外有一项官方说明有误的&#xff0c;补充说明一下&#xff0c;在开发工具部分说明 插件安装——安装pico的sdk和XR…

为什么定时器,串口这些东西被称之为外设

前言 &#xff08;1&#xff09;我们常常说定时器&#xff0c;串口是外设&#xff0c;但是很多人肯定有疑惑。定时器&#xff0c;串口不明明是存储在芯片里面的吗&#xff1f; &#xff08;2&#xff09;为了弄明白这个&#xff0c;就需要追溯到上个世纪了。 上个世纪的CPU与串…

【玩转Python系列【小白必看】Python多线程爬虫:下载表情包网站的图片

文章目录 前言1. 导入模块和库2. 定义函数 download_image(url, filepath)3. 定义函数 get_page()4. 主程序入口 完整代码运行效果 结束语 前言 本文主要介绍了使用Python编写的多线程爬虫程序&#xff0c;用于下载表情包网站上的图片。通过解析网页内容和使用XPath定位&#x…

Spring优雅的在事务提交/回滚前后插入业务逻辑

业务背景 业务那边想要统计下我们这边每天注册商户成功和失败的数量&#xff0c;你看看怎么给他弄下这个功能 功能实现 TransactionSynchronizationManager.registerSynchronization&#xff0c;发现这是spring事务提供的注册回调接口的方法。 在事务注解方法中&#xff0c…

Java 版 spring cloud + spring boot 工程系统管理 工程项目管理系统源码 工程项目各模块及其功能点清单

工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff1a;实现对数据字典标签的增删改查操作 2、编码管理&#xff1a;实现对系统编码的增删改查操作 3、用户管理&#xff1a;管理和查看用户角色 4、菜单管理&#xff1a;实现对系统菜单的增删改查操…

python中有哪些比较运算符

目录 python中有哪些比较运算符 使用比较运算符需要注意什么 总结 python中有哪些比较运算符 在Python中&#xff0c;有以下比较运算符可以用于比较两个值之间的关系&#xff1a; 1. 等于 ()&#xff1a;检查两个值是否相等。 x y 2. 不等于 (!)&#xff1a;检查两个…

2024考研408-计算机网络 第一章-计算机网络体系结构学习笔记

文章目录 前言一、计算机网络概述1.1、概念及功能1.1.1、计算机网络的概念1.1.2、计算机网络的功能功能1、数据通信功能2、资源共享功能3、分布式处理功能4、提高可靠性&#xff08;分布式处理引申功能&#xff09;功能5、负载均衡&#xff08;也是分布式处理引申功能&#xff…