「HTML」js组件-可拖动的div
前几天用js实现了鼠标拖动div的功能 , 但是用起来不是那么便捷 , 于是想着把这个功能做成一个组件 , 使用的时候直接引入 , 不用再写那么多冗余代码了 。
想要实现的效果
- 只要把div注册到该组件 , 目标div就都能随意拖动
- 可设置div能够拖动的范围
js组件的基本写法和div拖动的逻辑就不再赘述了 , 前面文章已经说过了 , 可点击下面链接查看
js实现div可拖动
js组件的基本写法
在这里主要分析下怎么限制拖动的范围,先看下图:
本文插图
限制范围
拖动时有四种边缘情况 , 即图中的1、2、3、4 , 我们一一来看
- 当div拖动到位置1时 , 我你们再往左拖动 , 都应该失效 , 即拖动div的left 始终等于外层div的left值
- 当div拖动到位置2时 , 我们再往上拖动 , 都应该无效 , 即拖动div的top始终等于外层div的top值
- 当div拖动到位置3时 , 我们再往右拖动 , 都应该无效 , 即拖动div的left始终等于外层div的left加上外层div的宽度 , 然后再减去拖动div的宽度
- 当div拖动到位置4时 , 我们再往下拖动 , 都应该无效 , 即拖动div的top始终等于外层div的top加上外层div的高度然后减去拖动div的高度
本文插图
有范围的拖动
下面贴上实现的代码 html中引入组件 , 并初始化
本文插图
html中引入组件
具体的js组件实现
本文插图
js拖动组件1
本文插图
【「HTML」js组件-可拖动的div】
js拖动组件2
推荐阅读
- 索比光伏网■腾晖光伏5GW高效光伏组件新扩项目开工建设,总投资20亿元
- 现代兵器杂志:“陆战平台现代化组件”装甲透视系统交付乌克兰陆军
- 现代兵器杂志▲“陆战平台现代化组件”装甲透视系统交付乌克兰陆军
- 【cnBeta】12组件订单方面遭遇困难,因消费者需求不明,苹果在准备iPhone
- 【cnBeta】因消费者需求不明,苹果在准备iPhone 12组件订单方面遭遇困难
- 行业洞察:晋能科技斩获“最具影响力组件企业奖”,标杆力量
- 成功加油站■Html5 css3 零基础入门:VS Code 的扩展插件安装不成功怎么办
- 『义乌』晶澳10GW高效电池+10GW高效组件及配套项目正式落户义乌
- 「爱集微」世界首个!韩国研发出基于skyrmi的人工突触组件
- 爱集微@世界首个!韩国研发出基于skyrmi的人工突触组件
