jquery和jquery-ui拖动元素(vue2)

 彩色小方块可以任意拖动,红色箭头指向的区域可以拖动

CDN在index.html文件中引入 

    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"><script src="https://code.jquery.com/jquery-3.6.0.min.js"></script><script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>

      <div id="all"><div id="userListBox"><div id="userListBoxTitle" class="move">用户列表</div><div id="userListBoxMain"><divclass="userListBoxMain"v-for="item in userList":key="item.id"><li>{{ item.name }}</li></div></div></div><divid="main"style="position: relative;height: 600px;background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPiAgICA8ZGVmcz4gICAgICAgIDxwYXR0ZXJuIGlkPSJncmlkIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHBhdHRlcm5Vbml0cz0idXNlclNwYWNlT25Vc2UiPiAgICAgICAgICAgIDxwYXRoIGQ9Ik0gMTAgMCBMIDAgMCAwIDEwIiBmaWxsPSJub25lIiBzdHJva2U9IiNkZGRkZGQiIHN0cm9rZS13aWR0aD0iMSIgb3BhY2l0eT0iMSIgLz4gICAgICAgIDwvcGF0dGVybj4gICAgPC9kZWZzPiAgICA8cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyaWQpIiAvPjwvc3ZnPg==);"><div class="bk" style="background: red;">1</div><div class="bk" style="background: blue; left: 60px;">2</div><div class="bk" style="background: yellow; left: 120px;">3</div><div class="bk" style="background: #000; left: 180px;">4</div><div class="bk" style="background: grey; left: 240px;">5</div></div><div class="binDiv"><div id="binDiv">拖到我上面</div></div></div>
 userList: [{id: '1',name: '用户1',},{id: '2',name: '用户2',},{id: '3',name: '用户3',},{id: '4',name: '用户4',},{id: '5',name: '用户5',},{id: '6',name: '用户6',},{id: '8',name: '用户8',},{id: '9',name: '用户9',},{id: '10',name: '用户10',},{id: '11',name: '用户11',},{id: '12',name: '用户12',},{id: '13',name: '用户13',},{id: '14',name: '用户14',},{id: '15',name: '用户15',},{id: '16',name: '用户16',},{id: '17',name: '用户17',},
],
 mounted() {this.dragFun()this.userListFun()},
    //拖动正方块dragFun() {$('.bk').resizable() //.resizable()是jQuery UI提供的一个方法,它可以将选定的元素变为可调整大小的元素.draggable({//.draggable()方法可以使选定的元素可拖动containment: '#main', // 限制拖动范围distance: 5, //设置移动多少像素后才开始触发拖动操作scroll: false, //拖动的时候不会触发滚动stack: '.bk', //拖动的元素被置于.bk元素组的最上层start: function (event, ui) {}, //当开始拖动元素时触发该函数drag: function (event, ui) {}, //在元素拖动过程中持续触发该函数stop: function (event, ui) {}, //当停止拖动元素时触发该函数})//使用 .bind() 方法将 click 事件绑定到选定的元素上.bind('click', function () {if ($(this).hasClass('ui-selected')) {//当前元素有 'ui-selected' 类移除该类。$(this).removeClass('ui-selected')} else {//当前元素没有 'ui-selected' 类,为元素添加该类。$(this).addClass('ui-selected')}})//jQuery UI 中的 .selectable() 方法来使 #main 元素的子元素可选择$('#main').selectable({filter: '.bk', //指定可选择项的 CSS 选择器,这里设置为 .bk,只有带有 .bk 类的子元素才能被选择distance: 30, //表示鼠标在元素上移动多少像素后才开始进行选择操作。selected: function (event, ui) {}, //选中元素后的回调函数})$('#binDiv').droppable({//使用了 jQuery UI 中的 .droppable() 方法,将 #binDiv 元素设置为可接收被拖动元素的区域drop: function (event, ui) {//在设置的元素上发生拖放操作并完成后触发的事件处理函数console.log('被放:', $(this))console.log('被拖:', ui)$(this).html('Dropped!') //将 #binDiv 元素的内容设置为字符串 'Dropped!'},})},
    // 拖动用户列表userListFun() {//拖动整个列表$('#userListBox').draggable({//draggable() 方法,将 #userListBox 元素设置为可拖动的元素cursor: 'move', //设置鼠标移动时的光标样式为 'move',表示该元素可拖动。handle: '#userListBoxTitle', //指定拖动操作的触发区域为 #userListBoxTitle 元素。只有在拖动该区域内部,拖动操作才会生效。containment: '#all', //限制被拖动元素的移动范围在 #all 元素内。被拖动元素不会超出 #all 元素的边界})//拖动列表中的用户$('#userListBoxMain li').draggable({//.draggable() 方法,将 #userListBoxMain li 元素设置为可拖动的元素cursor: 'move', //设置鼠标移动时的光标样式为 'move',表示该元素可拖动cursorAt: {//表示以被拖动元素的左侧距离鼠标左侧偏移 25px 的位置为鼠标偏移量,即被拖动元素将会跟随鼠标移动并保持此距离。left: 25,},helper: 'clone', //指定拖动时需要使用一个辅助元素来显示拖动效果,该辅助元素是被拖动元素的副本。containment: '#main', //限制被拖动元素的移动范围在 #main 元素内。distance: 5, //设置鼠标移动的距离超过 5px 后,才开始响应拖动事件。scroll: false, //拖动时不允许页面滚动。stack: '#userListBoxMain li', //设置可拖动元素的层级,使得当前被拖动的元素在其他元素上方。appendTo: '#main', //将拖动时的辅助元素附加到 #main 元素上。zIndex: 10000, //设置被拖动元素的 CSS 层级为 10000。start: function (event, ui) {}, //开始进行拖动操作时执行drag: function (event, ui) {}, //正在拖动元素时执行stop: function (event, ui) { //拖动操作结束时执行$(this).addClass('userstop')}, })},
<style scoped>
.elcard-box {border: 1px solid #000;
}
.bk {width: 50px;height: 50px;color: #fff;position: absolute;top: 5px;
}.bk.ui-selected {box-shadow: 0 0 5px red;
}#barMain li {width: 100px;border: 1px #ccc solid;border-radius: 0.2rem;display: block;float: left;margin: 0 1em 1em 0;text-align: center;color: #333;font-size: 0.9em;
}
.binDiv {position: relative;
}
#binDiv {width: 200px;height: 200px;position: absolute;top: -550px;right: 20px;background: #ccc;
}#userListBox {width: 200px;height: 500px;position: absolute;top: 340px;z-index: 9999;background-color: #eee;border-radius: 5px;display: flex;flex-direction: column;box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}#userListBoxTitle {width: 100%;height: 44px;line-height: 44px;text-align: center;background: #ccc;
}#userListBoxMain {width: 100%;height: 100%;-webkit-box-flex: 1;box-flex: 1;overflow-y: auto;
}
.userListBoxMain .ui-draggable {width: 100%;height: 44px;line-height: 44px;display: block;text-align: center;border-bottom: 1px #ccc solid;
}
li.ui-draggable-dragging {border: 1px solid #000;width: 50px;height: 50px;line-height: 50px;display: block;text-align: center;position: absolute !important;color: #fff;background: coral;
}.userstop {background: coral;
}
</style>

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

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

相关文章

WebPack5高级使用总结(三)

WebPack5高级使用总结 1、提升开发体检1.1、SourceMap1.2、使用 2、提升打包构建速度2.1、HotModuleReplacement2.2、oneOf2.3、Include/Exclude2.4、Cache2.5、Thead 3、减少代码体积3.1、Tree Shaking3.2、Babel3.3、Image Minimizer 4、优化代码运行性能4.1、Code Split4.1.…

前端uniapp防止页面整体滑动页面顶部以上,设置固定想要固定区域宽高

解决&#xff1a;设置固定想要固定区域宽高 目录 未改前图未改样式改后图改后样式 未改前图 未改样式 .main {display: flex;flex-direction: row;// justify-content: space-between;width: 100vw;// 防止全部移动到上面位置&#xff01;&#xff01;&#xff01;&#xff01…

全面解读 SQL 优化 - 统计信息

一、简介 数据库中的优化器&#xff08;optimizer&#xff09;是一个重要的组件&#xff0c;用于分析 SQL 查询语句&#xff0c;并生成执行计划。在生成执行计划时&#xff0c;优化器需要依赖数据库中的统计信息来估算查询的成本&#xff0c;从而选择最优的执行计划。以下是关…

MySQL学习笔记21

MySQL逻辑备份&#xff1a; mysqldump基本备份&#xff1a; 本质&#xff1a;导出的是sql语句文件。 优点&#xff1a;无论是什么存储引擎&#xff0c;都可以用mysqldump备份成sql语句。 缺点&#xff1a;速度较慢&#xff0c;导入的时候出现格式不兼容的突发情况&#xff…

Docker 容器技术 (上) 环境安装和部署、容器镜像、使用IDEA构建Springboot程序镜像、远程仓库、容器网络管理

Docker容器技术 文章目录 Docker容器技术容器技术入门环境安装和部署从虚拟机到容器容器工作机制简述 容器与镜像初识容器镜像镜像结构介绍构建镜像发布镜像到远程仓库实战&#xff1a;使用IDEA构建SpringBoot程序镜像 容器网络管理容器网络类型用户自定义网络容器间网络容器外…

Java基础面试题精选:深入探讨哈希表、链表和接口等

目录 1.ArrayList和LinkedList有什么区别&#xff1f;&#x1f512; 2.ArrayList和Vector有什么区别&#xff1f;&#x1f512; 3.抽象类和普通类有什么区别&#xff1f;&#x1f512; 4.抽象类和接口有什么区别&#xff1f;&#x1f512; 5.HashMap和Hashtable有什么区别&…

Unity - 实践: Metallic流程贴图 转 Specular流程贴图

文章目录 目的Metallic Flow - SP - 输出输出的 MRA (MGA) 贴图 Metallic->Specular (根据教程一步一步实践)1. Base color Metallic -> Diffuse2. Base color Metallic -> Specular3. Roughness -> Glossiness输出贴图&#xff0c;在 unity 中展示&#xff1a;M…

华为数字能源,开启超充新纪元

编辑&#xff1a;阿冒 设计&#xff1a;沐由 在过去很长的一段时间里&#xff0c;国内某著名品牌火锅是从来不担心获客的。顶峰时期&#xff0c;该品牌每年服务超过1.6亿人次的顾客&#xff0c;翻台率达到了5次/天&#xff0c;几乎创下了餐饮界的最高翻台率。 翻台率是餐饮企业…

掌握 JavaScript 数组方法:了解如何操作和优化数组

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

C#中的for和foreach的探究与学习

一:语句及表示方法 for语句: for(初始表达式;条件表达式;增量表达式) {循环体 }foreach语句: foreach(数据类型 变量 in 数组或集合) {循环体 }理解 1.从程序逻辑上理解,foreach是通过指针偏移实现的(最初在-1位置,每循环一次,指针就便宜一个单位),而for循环是通

480439-15-4,一种具有荧光单体的pH敏感性染料Fluorescein O-methacrylate

产品简介&#xff1a;荧光素O-甲基丙烯酸酯是一种具有荧光单体的pH敏感性染料。它可以通过490 nm的激发光谱和520 nm的发射光谱进行表征。它具有荧光素&#xff0c;其是一种负电荷最少的指示剂。它的特性包括生物相容性、无毒性&#xff0c;以及在水溶液中的良好分散性。 CAS号…

raw图片处理推荐 DxO PhotoLab 6 for Mac中文最新

DxO PhotoLab 6是一款专业的RAW图片处理软件&#xff0c;适用于Mac操作系统。它具有先进的图像处理技术和直观易用的界面&#xff0c;可帮助用户轻松地将RAW格式的照片转换为高质量的JPEG或TIFF图像。以下是对DxO PhotoLab 6软件的详细介绍&#xff1a; RAW图像处理&#xff1…

VS编译器常见的错误

以上问题在编译器中出现可以在编译器中最上面加入&#xff1a; #define_CRT_SECURE_NO_WARNINGS 或者将scanf修改为scanf_s 一定要在最上端&#xff01;&#xff01;&#xff01;最上端&#xff01;&#xff01;&#xff01;最上端加入&#xff01;&#xff01;&#xff01; 虽…

CUDA学习笔记0929

一、GPU缓存和变量作用域 1. 缓存类型 &#xff08;1&#xff09;GPU缓存是非可编程存储区域 &#xff08;2&#xff09;GPU包含4类缓存&#xff1a; L1缓存&#xff0c;每个流处理器一个 L2缓存&#xff0c;全部流处理器共享一个 L1和L2都可用于存储本地和全局内存中的数…

三、git的安装和配置

一、安装 1.官网下载&#xff1a;https://git-scm.com/download 下载最新版本&#xff0c;点击红框或篮筐处即可 2.点击下载好的安装包安装这个软件 3.一直点击next&#xff0c;直到出现install&#xff0c;点击install&#xff0c;安装完成后点击finish&#xff1a; 下载完成…

利用maskrcnn来实现目标检测与追踪

首先下载源代码仓库&#xff0c;链接地址如下&#xff1a; maskrcnn 能够实现的效果如图所示&#xff1a; 该存储库包括&#xff1a; 基于FPN和ResNet101构建的Mask R-CNN的源代码。MS COCO 的训练代码MS COCO 的预训练砝码Jupyter 笔记本&#xff0c;用于可视化每一步的检测…

数字乡村包括哪些方面?数字乡村应用介绍

数字乡村是指利用物联网、数字化和智能化技术&#xff0c;借助现代数字智能产品、高效信息服务和物联网基础设施&#xff0c;以提高农村居民生活质量&#xff0c;助力拓展经济发展前景。 创建数字村庄有助于缩小城乡社区之间的差距&#xff0c;保障每个人都能平等地享受科技发展…

简化任务调度与管理:详解XXL-Job及Docker Compose安装

在现代应用程序开发中&#xff0c;任务调度和管理是至关重要的一部分。XXL-Job是一个强大的分布式任务调度平台&#xff0c;它使得任务的调度和管理变得更加轻松和高效。本文将介绍XXL-Job的基本概念&#xff0c;并详细演示如何使用Docker Compose进行快速安装和配置。 什么是X…

51单片机实训项目之产品数量计数器

/********************************************************************************* * 【实验平台】&#xff1a; QX-MCS51 单片机开发板 * 【外部晶振】&#xff1a; 11.0592mhz * 【主控芯片】&#xff1a; STC89C52 * 【编译环境】&#xff1a; Keil μVisio3 * 【程序…

文件内容显示

目录 1.浏览普通文件 1.1. 文件内容查看 1.1.1. cat 命令 例&#xff1a; 1.1.2 扩展tac命令&#xff1a; 1.1.3. more 命令 1.1.4. less命令 1.1.5. head命令 1.1.6. tail命令 1.2. 文件属性信息查看 1.2.1. file 命令 1.2.2. stat 命令 2. 文件内容过滤…