基于Vue实现拖拽功能


Posted in Javascript onJuly 29, 2020

本文实例为大家分享了Vue实现拖拽功能的具体代码,供大家参考,具体内容如下

效果图:

基于Vue实现拖拽功能

HTML代码:

<div id="box">       
 位置
 <br>x:{{val.x}} <br>y:{{val.y}}
 <div v-drag="greet" id="drag" :style="style">
 //注意这里要通过指令绑定函数将当前元素的位置数据传出来
 </div>
</div>

JS代码:

Vue.directive('drag',//自定义指令     

 {bind:function (el, binding) {
  let oDiv = el; //当前元素
  let self = this; //上下文
  oDiv.onmousedown = function (e) {
   //鼠标按下,计算当前元素距离可视区的距离
   let disX = e.clientX - oDiv.offsetLeft;
   let disY = e.clientY - oDiv.offsetTop;

   document.onmousemove = function (e) {
   //通过事件委托,计算移动的距离 
   let l = e.clientX - disX;
   let t = e.clientY - disY;
   //移动当前元素 
   oDiv.style.left = l + 'px';
   oDiv.style.top = t + 'px';
    //将此时的位置传出去
   binding.value({x:e.pageX,y:e.pageY})
   };
   document.onmouseup = function (e) {
   
   document.onmousemove = null;
   document.onmouseup = null;
   };
  };
  }
 }
 );
 window.onload = function () {
 let vm = new Vue({
  el: '#box',
  data: {
  val: '123',
  style: {
   width: '100px',
   height: '100px',
   background: 'aqua',
   position: 'absolute',
   right: '30px',
   top: 0
  }
  },
  methods:{
  //接受传来的位置数据,并将数据绑定给data下的val
  greet(val){
   vm.val = val;
  }
  } ,
 });
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
浅谈tudou土豆网首页图片延迟加载的效果
Jun 23 Javascript
判断用户是否在线的代码
Mar 05 Javascript
HTML DOM的nodeType值介绍
Mar 31 Javascript
Javascript和Java获取各种form表单信息的简单实例
Feb 14 Javascript
jquery重复提交请求的原因浅析
May 23 Javascript
JSON 必知必会 观后记
Oct 27 Javascript
JavaScript实现网页头部进度条刷新
Apr 16 Javascript
vue实现表格增删改查效果的实例代码
Jul 18 Javascript
vue.js项目中实用的小技巧汇总
Nov 29 Javascript
一步步教会你微信小程序的登录鉴权
Apr 09 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
Apr 17 Javascript
Vuex模块化应用实践示例
Feb 03 Javascript
vuex操作state对象的实例代码
Apr 25 #Javascript
微信小程序商品详情页的底部弹出框效果
Nov 16 #Javascript
你点的 ES6一些小技巧,请查收
Apr 25 #Javascript
vue 组件使用中的一些细节点
Apr 25 #Javascript
Vue中使用vue-i18插件实现多语言切换功能
Apr 25 #Javascript
vue项目中vue-i18n和element-ui国际化开发实现过程
Apr 25 #Javascript
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
Apr 25 #Javascript
You might like
仿AS3实现PHP 事件机制实现代码
2011/01/27 PHP
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
PHP实现变色验证码实例
2014/01/06 PHP
php中获取主机名、协议及IP地址的方法
2014/11/18 PHP
PHP实现的操作数组类库定义与用法示例
2019/05/24 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
使用jQuery和PHP实现类似360功能开关效果
2014/02/12 Javascript
node.js中的events.EventEmitter.listenerCount方法使用说明
2014/12/08 Javascript
JavaScript检测并限制复选框选中个数的方法
2015/08/12 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
Node.js模块全局安装路径配置方法
2018/05/17 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
2019/08/29 Javascript
JS实现分页导航效果
2020/02/19 Javascript
vue递归获取父元素的元素实例
2020/08/07 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
python中__slots__用法实例
2015/06/04 Python
python实现发送和获取手机短信验证码
2016/01/15 Python
Python模拟登陆实现代码
2017/06/14 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
python的pip安装以及使用教程
2018/09/18 Python
python实现函数极小值
2019/07/10 Python
python 进程 进程池 进程间通信实现解析
2019/08/23 Python
python实现单张图像拼接与批量图片拼接
2020/03/23 Python
HTML5+CSS3绘制锯齿状的矩形
2016/03/01 HTML / CSS
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
《孔子游春》教学反思
2014/02/25 职场文书
集团公司党的群众路线教育实践活动工作总结
2014/03/03 职场文书
小学节能减排倡议书
2014/05/15 职场文书
超市客服工作职责
2014/06/11 职场文书
国际政治学专业推荐信
2014/09/26 职场文书
判缓刑人员个人思想汇报
2014/10/10 职场文书
2014年教研室工作总结
2014/12/06 职场文书
农村环境卫生倡议书
2015/04/29 职场文书
对学校的意见和建议
2015/06/04 职场文书