VUE模块拖拽和保存位置代码实现

测试环境:js+vue+java+mybatis+mysql+dbeaver

前端主要代码:

html:

<div id="myid" @mousedown="divDown($evt,'myid')" style="width:800px;height:600px"></div>

vue 变量:

divX:0,
divY:0,
divObj:null,
divObjId:'',
myid:{
x:0,
y:0
}

vue方法:

divDown(evt,did){

        this.divObj = document.getElementById(did)

        this.divObjId = did

        var obj = evt||event;

        this.divX = obj.clientX - this.divObj.offsetLeft;

        this.divY = obj.clientY - this.divObj.offsetTop;

        document.onmousemove = this.divMove;
        document.onmouseup = this.divUp;
    },
    divMove(evt){

        var obj1=evt||event;

        this.divObj.style.left = obj1.clientX - this.divX + 'px';

        this.divObj.style.top = obj1.clientY - this.divY + 'px';

        return false
    },
    divUp(){

        document.onmousemove = null;
        document.onmouseup = null;

        let left = this.divObj.style.left.replace('px','')

        let top = this.divObj.style.top.replace('px','')

        if(this.divObjId=='myid'){
            this.myid.x = left
            this.myid.y = top
        }

        this.saveDivPosition()
    }

java代码:


public class ModuleConfig{
private Long id;
private String level1;
private String level2;
//直接保存模块的JSON字符串
private String configs;
//省略setter/getter
...
}

mysql代码:

dbeaver

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

humors221

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值