vue如何实现边框线拖拽效果

Vue如何实现边框线拖拽效果

闲话少说,先上效果图!
在这里插入图片描述
这里我多加了一个点击边框线后隐藏左侧内容,给主体区域创造更大空间,这个看大家个人需求了,需要就用上

下面说下实现原理,首先这个边框线是一个单独的组件,我把它单独放在了一个公用目录下可做全局的公用组件
我们只需通过几个简单的监听事件就可以实现以上效果,分别是mousedown(鼠标左键点击下去触发的事件),mouseup(松开鼠标左键触发的事件),mousemove(指定元素鼠标移动触发的事件)

那么清楚这些后,思路就非常清晰了,点击这条边框线组件后,子组件通过监听鼠标在横轴上移动的距离向父组件传递参数来动态改变左侧树形结构导航栏的宽度(当然这里也可以使用vuex,看个人需要),让右侧内容区域的宽度自适应,这样就达到了边框线的拖拽效果(其实主要是左侧区域的宽度的变化展示出的这个效果)。

下面上代码
首先是边框线组件的代码

<div class="x-handle" @mousedown="mouseDown" @click="showout" unselectable="on" onselectstart="return false" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none;"></div>

大家可以注意到为什么除了监听鼠标点击事件为还有这么几句话

unselectable="on"
onselectstart="return false"
style="-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值