首页 > 其他分享 >Vue3 组合函数拖拽

Vue3 组合函数拖拽

时间:2024-03-08 18:22:05浏览次数:24  
标签:style container 函数 dragPage value window let Vue3 拖拽

代码

export function useDragMouse(dom, container) {
  let containerX = 0;
  let containerY = 0;
  let startX = 0;
  let startY = 0;
  function dragPage(e) {
    container.value.style.left = e.pageX - startX + containerX + "px";
    container.value.style.top = e.pageY - startY + containerY + "px";
  }
  dom.value.addEventListener("mousedown", (event) => {
    container.value.style.opacity = 0.8;
    startX = event.pageX;
    startY = event.pageY;
    containerX = container.value.offsetLeft;
    containerY = container.value.offsetTop;
    window.addEventListener("mousemove", dragPage);
  });
  window.addEventListener("mouseup", () => {
    if (!container.value) {
      window.removeEventListener("mousemove", dragPage);
      return;
    }
    container.value.style.opacity = 1;
    window.removeEventListener("mousemove", dragPage);
  });
}

  

标签:style,container,函数,dragPage,value,window,let,Vue3,拖拽
From: https://www.cnblogs.com/xiaoqiyaozou/p/18061604

相关文章

  • Java登陆第三十二天——ES6(一)let、const、模板字符串、解构表达式、箭头函数
    所谓ECMAScript6也就是JS6。这次更新带来了大量的新特性,使JS代码更简洁,更强大。复习JS请走:JS入门JS6文档请走:JS6菜鸟教程ES6新增了let和const关键字,用作声明变量let相较于var,let声明的变量更规范。ES6更推荐使用let。let不可重复声明let可以作为成员变量:(let遇见非函数......
  • pandas plot函数:数据可视化的快捷通道
    一般来说,我们先用pandas分析数据,然后用matplotlib之类的可视化库来显示分析结果。而pandas库中有一个强大的工具--plot函数,可以使数据可视化变得简单而高效。1.plot函数简介plot函数是pandas中用于数据可视化的一个重要工具,通过plot函数,可以轻松地将DataFrame或Series对象中的......
  • 用Vue3.0 写过组件吗?如果想实现一个 Modal你会怎么设计?
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助一、组件设计组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式现在有一个场景,点击新增与编辑都弹框出来进行填写,功能上大同小异,可能只是标题内容或者是显示的主体内容稍微不同这时候......
  • Qt中关于setGeometry()函数的问题
    setGeometry是相对于父窗体来说的一种对子窗体进行位置设置的方法。当我用在不同的窗体的时候发现有不同的形式QMainWindow和QWidget都是相对父窗体来说的,可是QDialog用上这个设置位置的函数,却是相对于桌面而言的。但是按照道理,他们都是继承的QWidget,setGeometry这个函数的功能......
  • vue3笔记 ref标签 04
    储存标记中的内容<template><divclass="about"><h1ref="Holly">你好</h1><button@click="hhh">点击输出上述h1</button></div></template><scriptlang="ts"setup>i......
  • vue3 报错解决:找不到模块或其相应的类型声明。(Vue 3 can not find module)
    当我们在引入应该组件的时候提示找不到这个组件但是项目明明就有这个物理文件报错原因:typescript只能理解.ts文件,无法理解.vue文件 这个时候我们应该这样首先原因:1、volar插件没开takeover模式去看volar插件介绍,开takeover模式2、volar未选择tyscript最新版本解决:1、......
  • SpringBoot 支付宝付款接口类、支付异步回调函数模板
    1.付款接口类1.1.引入Maven依赖<dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><version>4.38.221.ALL</version></dependency>1.2.将下面代码保存为AlipayTemplate.java@Config......
  • CUDA指针数组Kernel函数
    技术背景在前面的一篇文章中,我们介绍了在C++中使用指针数组的方式实现的一个不规则的二维数组。那么如果我们希望可以在CUDA中也能够使用到这种类似形式的不规则的数组,有没有办法可以直接实现呢?可能过程会稍微有一点麻烦,因为我们需要在Host和Device之间来回的转换,需要使用到很多C......
  • python函数参数检查
    参数检查调用函数时,如果参数个数不对,Python解释器会自动检查出来,并抛出TypeError:>>>my_abs(1,2)Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>TypeError:my_abs()takes1positionalargumentbut2weregiven但是如果参数类型不对,Python......
  • PostgreSQL的generate_series函数应用
    一、简介PostgreSQL中有一个很有用处的内置函数generate_series,可以按不同的规则产生一系列的填充数据。二、语法函数参数类型返回类型描述generate_series(start,stop)int或bigintsetofint或setofbigint(与参数类型相同)生成一个数值序列,从start到stop,步进......