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.rhkb.cn/news/148586.html

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

相关文章

01-工具篇-windows与linux文件共享

一般来说绝大部分PC上装的系统均是windows&#xff0c;为了开发linux程序&#xff0c;会在PC上安装一个Vmware的虚拟机&#xff0c;在虚拟机上安装ubuntu18.04&#xff0c;由于windows上的代码查看软件、浏览器&#xff0c;通信软件更全&#xff0c;我们想只用ubuntu进行编译&a…

sheng的学习笔记-【中文】【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第三周测验

课程1_第3周_测验题 目录&#xff1a;目录 第一题 1.以下哪一项是正确的&#xff1f; A. 【  】 a [ 2 ] ( 12 ) a^{[2](12)} a[2](12)是第12层&#xff0c;第2个训练数据的激活向量。 B. 【  】X是一个矩阵&#xff0c;其中每个列都是一个训练示例。 C. 【  】 a 4 […

01-http概述

HTTP概述 HTTP使用的是可靠地数据传输协议。HTTP属于应用层协议 Web客户端和服务器 web服务器&#xff1a;又称http服务器&#xff0c;用于存储web内容&#xff0c;并向web客户端提供web内容web客户端&#xff1a;用于请求web服务器的应用软件&#xff0c;常见为浏览器 资源…

基于SpringBoot的网上超市系统

基于SpringBoot的网上超市系统的设计与实现 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatis工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色&#xff1a;用户、管理员 管理员&#xff1a;个人中心、用户管理、商品分类…

专题一:递归【递归、搜索、回溯】

什么是递归 函数自己调用自己的情况。 为什么要用递归 主问题->子问题 子问题->子问题 宏观看待递归 不要在意细节展开图&#xff0c;把函数当成一个黑盒&#xff0c;相信这个黑盒一定能完成任务。 如何写好递归 一、汉诺塔 class Solution { public:void dfs(vec…

【C++】vector相关OJ

文章目录 1. 只出现一次的数字2. 杨辉三角3. 电话号码字母组合 ヾ(๑╹◡╹)&#xff89;" 人总要为过去的懒惰而付出代价ヾ(๑╹◡╹)&#xff89;" 1. 只出现一次的数字 力扣链接 代码展示&#xff1a; class Solution { public:int singleNumber(vector<i…

IBT机考-PBT笔考,优劣分析,柯桥口语学习,韩语入门,topik考级韩语

IBT机考&#xff0c;顾名思义就是在电脑上答题考试&#xff0c;区别于现在的PBT纸笔答题&#xff0c;不需要发卷、收卷&#xff0c;也不需要填涂和用笔写字。 考试不需要带任何文具&#xff0c;就连笔试要用到的修正带都将省去。因为听力、阅读的选择题都是用鼠标点击&#xf…

uniapp app 导出excel 表格

直接复制运行 <template><view><button click"tableToExcel">导出一个表来看</button><view>{{ successTip }}</view></view> </template><script>export default {data() {return {successTip: }},metho…

openwrt使用教程

openwrt 插件安装 首先 我们需要明确自己什么版本的cpu 进入docker 然后 cat /proc/cpuinfo# 查看CPU信息 uname -m# 查看CPU架构 cat /proc/meminfo# 查看内存使用情况 df -h# 查看磁盘的使用率 uname -a# 查看内核信息 opkg print-architecture# 可接受的架构arm a5 比较奇…

mysql双主双从读写分离

架构图&#xff1a; 详细内容参考&#xff1a; 结果展示&#xff1a; 178.119.30.16&#xff08;从&#xff09;- master 178.119.30.17&#xff08;从&#xff09;- slave 由上述结果可以看出&#xff0c;产生了主备节点同时抢占VIP的问题&#xff08;即脑裂问题&#xff09…

建站软件WordPress和phpcmsv9体验

一、网站程序 什么是网站程序? 网站程序是由程序员编写的一个网站安装包,程序是网站内容的载体。 常见的网站程序有: dedecms , phpcms ,帝国cms ,米拓cms , WordPress , discuz , ECShop ,shopex , z-blog等,根据不同类型的网站我们来选择不同的网站程序。 比如说搭建一个…

微信支付费率降低到0.2%,商家收款开户手续费0.6%降低的操作方法

在如今的数字时代&#xff0c;移动支付已成为人们日常生活中必不可少的一部分。微信支付作为国内最受欢迎的移动支付平台&#xff0c;一直致力于为商家和个人提供最便捷、安全的支付方式。如果可以将微信支付将费率降低到仅为0.2%&#xff0c;这无疑给广大商家带来了巨大的利好…

C/C++跨平台构建工具CMake-----在C++源码中读取CMakeLists.txt配置文件中的内容

文章目录 1.需求描述2.需求准备2.1 创建项目2.2 编辑CMakeLists.txt文件2.3 编写C文件2.4 编译构建项目 3.需求实现3.1 在CMakeLists.txt中输出日志信息3.2 增加配置生成C头文件3.3在C 源码中访问配置的值3.4 C文件中读取CMakeLists.txt中的字符串 总结 1.需求描述 当我们开发…

国庆发生的那些事儿------编写了炫酷的HTML动态鼠标特效,超级炫酷酷酷!

文章目录 前言具体操作总结 前言 国庆假期的欢乐&#xff0c;当然少不了编码爱好者&#xff01;假期编写了炫酷的HTML动态鼠标特效&#xff0c;超级炫酷酷酷&#xff01;让你的页面变得更加炫酷&#xff0c;让你的小伙伴们羡慕的大神编码&#xff01;快来看看大神是如何编写的…

Llama2-Chinese项目:6-模型评测

测试问题筛选自AtomBulb[1]&#xff0c;共95个测试问题&#xff0c;包含&#xff1a;通用知识、语言理解、创作能力、逻辑推理、代码编程、工作技能、使用工具、人格特征八个大的类别。 1.测试中的Prompt   例如对于问题"列出5种可以改善睡眠质量的方法"&#xff…

【Java】微服务——Nacos注册中心

目录 1.Nacos快速入门1.1.服务注册到nacos1&#xff09;引入依赖2&#xff09;配置nacos地址3&#xff09;重启 2.服务分级存储模型2.1.给user-service配置集群2.2.同集群优先的负载均衡 3.权重配置4.环境隔离4.1.创建namespace4.2.给微服务配置namespace 5.Nacos与Eureka的区别…

【Spring】更简单的读取和存储对象

更简单的读取和存储对象 一. 存储 Bean 对象1. 前置工作&#xff1a;配置扫描路径2. 添加注解存储 Bean 对象Controller&#xff08;控制器存储&#xff09;Service&#xff08;服务存储&#xff09;Repository&#xff08;仓库存储&#xff09;Component&#xff08;组件存储&…

Java类型转换和类型提升

目录 一、类型转换 1.1 自动类型转换&#xff08;隐式&#xff09; 1.1.1 int 与 long 之间 1.1.2 float 与 double 之间 1.1.3 int 与 byte 之间 1.2 强制类型转换&#xff08;显示&#xff09; 1.2.1 int 与 long 之间 1.2.2 float 与 double 之间 1.2.3 int 与 d…

云安全之访问控制的常见攻击及防御

访问控制攻击概述 访问控制漏洞即应用程序允许攻击者执行或者访问某种攻击者不具备相应权限的功能或资源。 常见的访问控制可以分为垂直访问控制、水平访问控制及多阶段访问控制 (上下文相关访问控制)&#xff0c;与其相应的访问控制漏洞为也垂直越权漏洞(普通用户可以访问或…

《Attention Is All You Need》论文笔记

下面是对《Attention Is All You Need》这篇论文的浅读。 参考文献&#xff1a; 李沐论文带读 HarvardNLP 《哈工大基于预训练模型的方法》 下面是对这篇论文的初步概览&#xff1a; 对Seq2Seq模型、Transformer的概括&#xff1a; 下面是蒟蒻在阅读完这篇论文后做的一…