首页 > Web开发 > 详细

在vue中使用js实现拖拽div

时间:2020-06-18 15:04:23      阅读:103      评论:0      收藏:0      [点我收藏+]
<div @mousedown="mousedown" @mousemove="mousemove" @mouseup="mouseup" id="test" style="position:absolute;border:1px solid red;width:800px;height:600px" >

<div>你是人间的四月天 林伟因</div>
</div>
//由于是在vue中创建的项目,所以变量是在data函数中定义的
data(){
return{
   clientX:0,
clientY:0,
offsetLeft:0,
offsetTop:0,
isDown:false,
    
}
}
methods:{

mousedown(e){
console.log(e )
this.clientX = e.clientX;
this.clientY = e.clientY;
this.offsetLeft = e.target.offsetLeft;
this.offsetTop = e.target.offsetTop;
this.isDown = true;

},
mousemove(e){
console.log(‘wawawa‘)
if(this.isDown){
const x = e.clientX;
const y = e.clientY;
let nx = x-(this.clientX-this.offsetLeft)
let ny = y-(this.clientY-this.offsetTop)
document.getElementById(‘test‘).style.left = nx + ‘px‘;
document.getElementById(‘test‘).style.top = ny + ‘px‘;
} else{
return;
}

},
mouseup(e){
console.log(‘hahah ‘)
this.$nextTick(()=>{
this.isDown = false;
})

},
}

 

 

在vue中使用js实现拖拽div

原文:https://www.cnblogs.com/mamifeng/p/13157546.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!