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


Posted in Javascript onMarch 08, 2018

主要代码如下:

<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: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>

以上这篇Vue.js实现图片的随意拖动方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jquery插件之多图片异步上传
Oct 20 Javascript
js使用for循环查询数组中是否存在某个值
Aug 12 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
Aug 17 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
May 17 Javascript
jQuery添加和删除输入文本框标签代码
May 20 Javascript
jQuery实现点击关注和取消功能
Jul 03 jQuery
JS实现移动端判断上拉和下滑功能
Aug 07 Javascript
vue2.0 根据状态值进行样式的改变展示方法
Mar 13 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
Aug 09 Javascript
vee-validate vue 2.0自定义表单验证的实例
Aug 28 Javascript
vue-cli中使用高德地图的方法示例
Mar 28 Javascript
vue.js中ref和$refs的使用及示例讲解
Aug 14 Javascript
JS字符串去除连续或全部重复字符的实例
Mar 08 #Javascript
实战node静态文件服务器的示例代码
Mar 08 #Javascript
vue.js或js实现中文A-Z排序的方法
Mar 08 #Javascript
vue.js移动数组位置,同时更新视图的方法
Mar 08 #Javascript
在react-router4中进行代码拆分的方法(基于webpack)
Mar 08 #Javascript
JQuery选中select组件被选中的值方法
Mar 08 #jQuery
vue.js中$set与数组更新方法
Mar 08 #Javascript
You might like
基于PHP静态类的原罪详解
2013/05/06 PHP
php实现两表合并成新表并且有序排列的方法
2014/12/05 PHP
php实现微信公众号无限群发
2015/10/11 PHP
JavaScript去除空格的几种方法
2006/10/03 Javascript
jQuery.extend 函数的详细用法
2012/06/27 Javascript
javascript实现类似超链接的效果
2014/12/26 Javascript
JavaScript使用FileReader实现图片上传预览效果
2020/03/27 Javascript
vue的.vue文件是怎么run起来的(vue-loader)
2018/12/10 Javascript
详解项目升级到vue-cli3的正确姿势
2019/01/28 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
vuex实现数据状态持久化
2019/11/11 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
js实现超级玛丽小游戏
2020/03/18 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
2020/06/08 Javascript
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
通过代码实例展示Python中列表生成式的用法
2015/03/31 Python
Python写入CSV文件的方法
2015/07/08 Python
Python随手笔记第一篇(2)之初识列表和元组
2016/01/23 Python
python与caffe改变通道顺序的方法
2018/08/04 Python
pandas重新生成索引的方法
2018/11/06 Python
Python3模拟登录操作实例分析
2019/03/12 Python
详解Python_shutil模块
2019/03/15 Python
python实现Dijkstra算法的最短路径问题
2019/06/21 Python
python实现图片素描效果
2020/09/26 Python
Python txt文件如何转换成字典
2020/11/03 Python
Python Pandas list列表数据列拆分成多行的方法实现
2020/12/14 Python
万得城电器土耳其网站:欧洲第一大电子产品零售商
2016/10/07 全球购物
巴西最大的玩具连锁店:Ri Happy
2020/06/17 全球购物
Linux的文件类型
2012/03/07 面试题
党校培训思想汇报
2013/12/30 职场文书
主题班会演讲稿
2014/05/22 职场文书
代领报检证委托书范本
2014/10/11 职场文书
合同权益转让协议书模板
2014/11/18 职场文书
再见,2019我们不负使命;你好,2020我们砥砺前行
2020/01/03 职场文书
Go语言实现Snowflake雪花算法
2021/06/08 Golang
Tomcat用户管理的优化配置详解
2022/03/31 Servers