vue 鼠标拖拽
<template>
  <div class="home">
    <div id="box" v-drag></div>
  </div>
</template>
<script>
// @ is an alias to /src
export default {
  name: "Home",
  data() {return {}},
  directives: {
    drag: {
      // 指令的定义
      inserted: function(el) {
        // el.drag();
        console.log(el);
        //获取元素
        // var dv = document.getElementById("dv");
        let x = 0;
        let y = 0;
        let l = 0;
        let t = 0;
        let isDown = false;
        //鼠标按下事件
        el.onmousedown = function(e) {
          //获取x坐标和y坐标
          x = e.clientX;
          y = e.clientY;
//获取左部和顶部的偏移量
          l = el.offsetLeft;
          t = el.offsetTop;
          //开关打开
          isDown = true;
          //设置样式
          el.style.cursor = "move";
        };
        //鼠标移动
        window.onmousemove = function(e) {
          if (isDown == false) {
            return;
          }
          //获取x和y
          let nx = e.clientX;
          let ny = e.clientY;
          //计算移动后的左偏移量和顶部的偏移量
          let nl = nx - (x - l);
          let nt = ny - (y - t);
el.style.left = nl + "px";
          el.style.top = nt + "px";
        };
        //鼠标抬起事件
        el.onmouseup = function() {
          //开关关闭
          isDown = false;
          el.style.cursor = "default";
        };
      }
    }
  }
};
</script>
<style lang="scss" scoped>
#box {
  width: 60px;
  height: 60px;
  background-color: darkorange;
  border-radius: 50%;
  position: absolute;
  //脱离文档流
}
</style>
————————————————
版权声明:本文为CSDN博主「魏同学.」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_47627529/article/details/106895565
vue 鼠标拖拽的更多相关文章
- 基于Vue实现拖拽效果
		参考地址:基于Vue实现拖拽效果 参考链接中讲的比较详细,我只使用了其中自定义指令的方法.整体代码如下: <template> <!-- 卡片 --> <div clas ... 
- vue内容拖拽放大缩小
		<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ... 
- CSharpGL(20)用unProject和Project实现鼠标拖拽图元
		CSharpGL(20)用unProject和Project实现鼠标拖拽图元 效果图 例如,你可以把Big Dipper这个模型拽成下面这个样子. 配合旋转,还可以继续拖拽成这样. 当然,能拖拽的不只 ... 
- JavaScript鼠标拖拽特效及相关问题总结
		#div1{width:200px;height:200px;background:red;position:absolute;} #div2{width:200px;height:200px;bac ... 
- 一款基于jQuery的支持鼠标拖拽滑动焦点图
		记得之前我们分享过一款jQuery全屏广告图片焦点图,图片切换效果还不错.今天我们要分享另外一款jQuery焦点图插件,它的特点是支持鼠标拖拽滑动,所以在移动设备上使用更加方便,你只要用手指滑动屏幕即 ... 
- 【狼】unity 鼠标拖拽物体实现任意角度自旋转
		主要涉及函数 Input.GetAxis(“Mouse x”) 可取得鼠标横向(x轴)移动增量 Input.GetAxis(“Mouse y”) 可取得鼠标竖向(y轴)移动增量 通过勾股定理获取拖拽长 ... 
- NGUI对象跟随鼠标拖拽移动
		public Camera WNGUICamera; Vector3 _WoldPosition;//指针的初始位置 // Vector3 _WoldAng; Vector3 WscreenSpace ... 
- 鼠标拖拽定位和DOM各种尺寸详解
		<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ... 
- Arcgis for qml  - 鼠标拖拽移动
		以实现鼠标拖拽文本图层为例 GitHub:ArcGIS拖拽文本 作者:狐狸家的鱼 目的是利用鼠标进行拖拽. 实现两种模式,一种是屏幕上的拖拽,第二种是地图上图层的挪动. 屏幕上的拖拽其实跟ArcGIS ... 
- html5的鼠标拖拽
		鼠标拖拽 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ... 
随机推荐
- oracle通过计划任务备份表
			1.先手动创建表 create table user01_backup_20210204 select * from user01 commit; 2.清空表 truncate table user0 ... 
- 解决多行文本超出显示省略号webpack打包后失效的问题
			开发环境没问题: 但是在打包部署后就失效了: 经过对比后发现是因为: 缺少了 -webkit-box-orient: vertical; 导致 解决方案 : /* ! autoprefixer: o ... 
- Kubernetes 设置master相关
			设置master调度命令 1.设置master一般情况下不接受pod调度 sudo kubectl taint nodes master node-role.kubernetes.io/master= ... 
- python_类 对象 属性
			1, 类 (class) 类的概念表示某种对象的集合,用于表示某一种相同对象的模板.例如:人作为一个类 由这个"人"类定义出来的内容就是这个类定义出来的对象,类还拥有属性和功能,属 ... 
- windows elasticsearch中文乱码
			一:找到安装目录下的config jvm.options文件 二:修改或增加: -Dfile.encoding=GBK 参考文章地址:https://www.shuzhiduo.com/A/rV57O ... 
- 你应该知道的 50 个 Python 单行代码
			你应该知道的 50 个 Python 单行代码 1. 字母移位词:猜字母的个数和频次是否相同 2. 二进制转十进制 3. 转换成小写字母 4. 转换成大写字母 5. 字符串转换为字节类型 6. 复制文 ... 
- ue4中动画通知的几种方式
			原创:蝶泳奈何桥 animation blueprint中的几种notify,神马通知碰撞开启关闭的东东都可以使用notify 1.简单的通知(blueprint) 直接在sequence or mo ... 
- 软件工程日报三——创建一个简单app和SDK的介绍
			昨天讲安卓studio和gradle等软件和环境都配置成功,今天开始创建第一个app. 一.打开Android studio,创建一个新文件,点击File,选择New Project里面的Empty ... 
- day11 事件相关笔记
			day11 事件上 事件的概述 事件是指代一个东西的操作被另外一个东西监听以后的一个过程(事件),这个过程可以完成对应的操作(处理函数)事件监听器是一个标准的观察者模式(observer)也被称为订阅 ... 
- 下载安装i5ting_toc
			全部都是以管理员身份运行powershell 1.打开powershell之后输入命令npm i i5ting_toc -g 这样就全局安装了 2.set-ExecutionPolicy Remote ... 
