您的位置:首页 > 产品设计 > UI/UE

Vue.js实现图片的随意拖动

2018-01-23 19:40 495 查看
主要代码如下:

<template>
<div id="test_3">
<img src="../assets/img/photo.jpg" @mousedown="start" @mouseup="stop" @mousemove="move" :style="style">
</div>
</template>

<script>
export default{
data:function(){
return{
canDrag: false,
x0:0,
y0:0,
x1:<
9baa
span class="hljs-number">0,
y1:0,
style:null
}
},
methods:{
start:function(e){
//鼠标左键点击
if(e.button==0){
this.canDrag=true;
//记录鼠标指针位置
this.x0=e.clientX;
this.y0=e.clientY;
}
},
stop:function(e){
this.canDrag=false;
},
move:function(){
if(this.canDrag==true){
this.x1=e.clientX;
this.y1=e.clientX;

let x=this.x1-this.x0;
let y=this.y1-this.y0;

let img=document.querySelector("#test_3 img");
this.style=`left:${img.offsetLeft+x}px;top:${img.offsetTop+y}px`;
this.x0=this.x1;
this.y0=this.y1;
}
}
}
}
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: