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.xdnf.cn/news/144011.html

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

相关文章

浅谈电气防火保护器在地下商场的应用

摘 要&#xff1a;近年来&#xff0c;我国城市发展速度加速。很多城市大力建造地下建筑设施&#xff0c;比如地铁、地下停车场和地下商场等。地下商场属于人员密集型建筑&#xff0c;其防火设计一直令相关的专家头疼。由于人员密集&#xff0c;防火处理不好将酿成灾难性的后果。…

/usr/bin/ld: cannot find -lmysqlcllient

文章目录 1. question: /usr/bin/ld: cannot find -lmysqlcllient2. solution 1. question: /usr/bin/ld: cannot find -lmysqlcllient 2. solution 在 使用编译命令 -lmysqlclient时&#xff0c;如果提示这个信息。 先确认一下 有没有安装mysql-devel 执行如下命令 yum inst…

【SpringBoot项目】SpringBoot+MyBatis+MySQL电脑商城

在b站听了袁老师的开发课&#xff0c;做了一点笔记。 01-项目环境搭建_哔哩哔哩_bilibili 基于springboot框架的电脑商城项目&#xff08;一&#xff09;_springboot商城项目_失重外太空.的博客-CSDN博客 项目环境搭建 1.项目分析 1.项目功能&#xff1a;登录、注册、热销…

视频监控平台客户端开发记录

效果图 所用到的核心技术 QT信号槽机制;布局器;QStylesheet;QStackedWidget;QTreeView;QTableView;QNetworkAccessManager;Tr();QT信号槽机制 信号槽机制是QT的精华,主要解决UI界面中事件与事件响应的关联关系。QT将界面的操作(如点击按钮、拖动窗口等)定义为信号,…

Flink容错机制

容错机制 在Flink中&#xff0c;有一套完整的容错机制来保证故障后的恢复&#xff0c;其中最重要的就是检查点。 检查点的保存 1&#xff09;周期性的触发保存 “随时存档”确实恢复起来方便&#xff0c;可是需要我们不停地做存档操作。如果每处理一条数据就进行检查点的保存…

Flume最简单使用

文章目录 一、简介1、定义2、基础架构 二、快速入门1、解压Flume2、案例一&#xff1a;监控端口号3、案例二&#xff1a;将空目录下文件 三、Flume进阶1、Flume事务2、Flume Agent内部原理3、案例一&#xff1a;监控日志4、案例二&#xff1a;多路复用和拦截器适应4.1 原理4.2 …

运营版小说APP软件源码/小说网站源码/自带在线采集功能

运营版小说APP软件源码、小说网站源码&#xff0c;自带在线采集功能。 挺好看的一款小说APP源码&#xff0c;附带详细的安装说明&#xff0c;以及APP打包教程、工具。感兴趣的自行研究。 下载地址&#xff1a;https://bbs.csdn.net/topics/617326774

全网最细,Python接口自动化测试参数关联(应用场景实例)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 什么是参数关联&a…

外卖霸王餐平台究竟是如何运作的?以及盈利点到底在哪里?

外卖霸王餐 1、业务简介。业务模式是消费者以5-10元吃到原价15-25元的外卖&#xff0c;底层逻辑是帮外卖商家做推广&#xff0c;解决新店基础销量、老店增加单量、品牌打万单店的需求。 因为外卖店的平均生命周期只有6个月&#xff0c;不断有新店愿意送霸王餐。部分老店也愿…

自学——网络安全——黑客技术

想自学网络安全&#xff08;黑客技术&#xff09;首先你得了解什么是网络安全&#xff01;什么是黑客&#xff01;&#xff01;&#xff01; 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队…

竞赛选题 大数据商城人流数据分析与可视化 - python 大数据分析

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于大数据的基站数据分析与可视化 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度…

挂件板死机刷固件

用ESP32-DevKitC_V4刷固件的工具flash_download_tool_3.9.5.exe 挂件板子端口接线依次为V&#xff08;接3V3&#xff09;、R&#xff08;接TXD&#xff09;、T&#xff08;接RXD&#xff09;、G&#xff08;接GND&#xff09;、L&#xff08;悬空&#xff09; 1.选择ESP8266&…

CSS 解决单词之间空隙很大的问题

有时候构筑UI时&#xff0c;会遇到一些小问题&#xff0c;但是对用户体验而言是大问题。 例如单词之间空隙很大的问题&#xff0c;非常影响美关&#xff0c;加上 word-break: break-all 问题就解决了。 下图中单词之间空隙很大 下图加上 word-break: break-all 空隙不见了

最新AI写作系统ChatGPT源码/支持GPT4.0+GPT联网提问/支持ai绘画Midjourney+Prompt应用+MJ以图生图+思维导图生成

一、智能创作系统 SparkAi创作系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧&…

Flink窗口

窗口&#xff08;Window&#xff09; package com.atguigu.window;import com.atguigu.bean.WaterSensor; import com.atguigu.functions.WaterSensorMapFunction; import org.apache.flink.streaming.api.datastream.KeyedStream; import org.apache.flink.streaming.api.dat…

我们在操作自动化测如何实现用例设计实例

在编写用例之间&#xff0c;笔者再次强调几点编写自动化测试用例的原则&#xff1a; 1、一个脚本是一个完整的场景&#xff0c;从用户登陆操作到用户退出系统关闭浏览器。 2、一个脚本脚本只验证一个功能点&#xff0c;不要试图用户登陆系统后把所有的功能都进行验证再退出系统…

写代码生成流程图

我们在写文档&#xff0c;博客的时候&#xff0c;一般都会使用markdown语法&#xff0c;最常见的就是一些github开源项目的README。有时候会去画一些流程图&#xff0c;例如使用process.on或者xmind等第三方网站&#xff0c;然后截图插入到文档中。 今天我们介绍一种使用代码直…

亚马逊美国站自行车电动自行车儿童自行车的合规认证GCC+UL2849

GCC合规性认证16CFR1512和 UL 2849 随着道路变得更加拥挤&#xff0c;停车位的减少&#xff0c;骑自行车上班已成为一种不错的选择。它不仅为骑手提供体育锻炼&#xff0c;还为骑手提供了更为灵活的通勤&#xff0c;因此更加轻便的电动助力自行车应运而生。需求不断增长&…

网络电视盒子哪个品牌好?测评工作室深入分析电视盒子排名

电视盒子只需要联网就可以收看海量资源&#xff0c;不需要每月缴费&#xff0c;玩游戏、上网课、K歌都不在话下&#xff0c;对新手来说电视盒子如何选择&#xff1f;网络电视盒子哪个品牌好&#xff1f;工作室购入了最热销的15款电视盒子经过多角度对比后整理了电视盒子排名&am…

【JUC系列-08】深入理解CyclicBarrier底层原理和基本使用

JUC系列整体栏目 内容链接地址【一】深入理解JMM内存模型的底层实现原理https://zhenghuisheng.blog.csdn.net/article/details/132400429【二】深入理解CAS底层原理和基本使用https://blog.csdn.net/zhenghuishengq/article/details/132478786【三】熟练掌握Atomic原子系列基本…