基于Vue实现拖拽功能

这篇文章主要为大家详细介绍了vue实现拖拽功能,拖动方块进行移动,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

效果图:

基于Vue实现拖拽功能

HTML代码:

                             位置  
x:{{val.x}} 
y:{{val.y}}  

  //注意这里要通过指令绑定函数将当前元素的位置数据传出来  

登录后复制

立即学习“前端免费学习笔记(深入)”;

JS代码:

Vue.directive('drag',//自定义指令                       {bind:function (el, binding) {        let op = el;  //当前元素        let self = this; //上下文        op.onmousedown = function (e) {         //鼠标按下,计算当前元素距离可视区的距离          let disX = e.clientX - op.offsetLeft;          let disY = e.clientY - op.offsetTop;          document.onmousemove = function (e) {           //通过事件委托,计算移动的距离             let l = e.clientX - disX;            let t = e.clientY - disY;           //移动当前元素             op.style.left = l + 'px';            op.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;        }      } ,   });  }

登录后复制

相关推荐:

vue-simplemde实现图片拖拽粘贴功能(附代码)

基于vue.js和webpack的Chat示例

立即学习“前端免费学习笔记(深入)”;

以上就是基于Vue实现拖拽功能的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2764127.html

(0)
上一篇 2025年3月8日 10:24:11
下一篇 2025年3月7日 13:10:27

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 基于vue-element组件实现音乐播放器功能

    这篇文章主要介绍了基于vue-element组件实现音乐播放器功能,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧 最近在写一个基于 github-page 和 gist 的博客, 想加个音乐播放器, 做了一个早上, 发…

    2025年3月8日
    200
  • Vue中如何实现Observer

    这次给大家带来Vue中如何实现Observer,Vue中实现Observer的注意事项有哪些,下面就是实战案例,一起来看一下。 导语: 本文是对 Vue 官方文档深入响应式原理(https://cn.vuejs.org/v2/guide/r…

    2025年3月8日
    200
  • vue做出全选与反选功能

    这次给大家带来vue做出全选与反选功能,vue做出全选与反选功能的注意事项有哪些,下面就是实战案例,一起来看一下。 全选功能可以说是前端开发中非常常见的一个功能,以前的项目开发用jQuery开发比较多。最近在使用vue前端框架重构之前的项目…

    2025年3月8日
    200
  • vue数据控制视图如何实现(附代码)

    这次给大家带来vue数据控制视图如何实现(附代码),vue数据控制视图实现的注意事项有哪些,下面就是实战案例,一起来看一下。 前记 三个月前看了vue源码来分析如何做到响应式数据的, 文章名字叫vue源码之响应式数据, 最后分析到, 数据变…

    编程技术 2025年3月8日
    200
  • Angular有哪些方法可以实现字母大小写转换

    这次给大家带来Angular有哪些方法可以实现字母大小写转换,Angular实现字母大小写转换的注意事项有哪些,下面就是实战案例,一起来看一下。 angular过滤器uppercase/lowercase字母大小写转换 输出大写输出小写va…

    编程技术 2025年3月8日
    200
  • Vue中v-show判断表达式如何实现

    这次给大家带来Vue中v-show判断表达式如何实现,Vue中v-show判断表达式实现的注意事项有哪些,下面就是实战案例,一起来看一下。 一、需求场景 1、先来说说我的需求,有数据来源和标签类型两行选项,如下图所示: 2、根据需求,我需要…

    2025年3月8日
    200
  • vue+axios实现数据交互

    这次给大家带来vue+axios实现数据交互,vue+axios实现数据交互的注意事项有哪些,下面就是实战案例,一起来看一下。 axios基于 Promise 的 HTTP 请求客户端,可同时在浏览器和 node.js 中使用 现在Vue官…

    2025年3月8日
    200
  • FIFO/LRU实现缓存算法

    FIFO 最简单的一种缓存算法,设置缓存上限,当达到了缓存上限的时候,按照先进先出的策略进行淘汰,再增加进新的 k-v 。 使用了一个对象作为缓存,一个数组配合着记录添加进对象时的顺序,判断是否到达上限,若到达上限取数组中的第一个元素key…

    编程技术 2025年3月8日
    200
  • PHP图片简单上传功能详解

    这篇文章主要为大家详细介绍了php图片简单上传功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。 以下是代码:    登录后复制 总结: php 上传图片,一般都使用move_uploaded_file方法保存在服务器上。但如果一个网…

    编程技术 2025年3月8日
    200
  • Vue路由导航菜单栏高亮实现方法

    这次给大家带来Vue路由导航菜单栏高亮实现方法,Vue路由导航菜单栏高亮实现的注意事项有哪些,下面就是实战案例,一起来看一下。 默认情况下,路由的导航菜单,会自动给当前菜单添加router-link-exact-active 和router…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论