vue 自定义拖拉宽度变大变小

本文介绍了一种使用HTML、CSS和JavaScript实现拖动块来动态调整DIV元素宽度的方法。通过结合CSS定位和JavaScript事件监听,可以创建一个响应式的拖动条,使用户能够直观地改变元素的宽度。
摘要由CSDN通过智能技术生成

HTML

<div class="宽度要变化的div">
        <div class="拖拉的块" v-move></div>
</div>

CSS

.宽度要变化的div{
	position:relative;
	width:100px;
	height:300px;
	}
.拖拉的块{
	height: 100%;
        width: 10px;
        opacity: 0;
        position: absolute;
        right: 0;
        top: 0;
        cursor: col-resize;
        }

JS

export default {
directives: {
move(el, bindings) {
      el.onmousedown = function(e) {
        var init = e.clientX;
        var parent = document.getElementById("宽度要变化的div");
        var initWidth = parent.offsetWidth;
        document.onmousemove = function(e) {
          var end = e.clientX;
          var newWidth = end - init + initWidth;
          parent.style.width = newWidth + "px";
        };
        document.onmouseup = function() {
          document.onmousemove = document.onmouseup = null;
        };
      };
    }
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值