当前位置: 首页 > news >正文

vue3鼠标拖拽滑动效果

第一步

在utils下面新建一个directives.js文件,然后引入如下代码

const dragscroll = (el) => {el.onmousedown = ev => {const disX = ev.clientX;const disY = ev.clientY; // 需要上下移动可以加const originalScrollLeft = el.scrollLeft;const originalScrollTop = el.scrollTop; // 需要上下移动可以加const originalScrollBehavior = el.style['scroll-behavior'];const originalPointerEvents = el.style['pointer-events'];el.style['scroll-behavior'] = 'auto';// 鼠标移动事件是监听的整个document,这样可以使鼠标能够在元素外部移动的时候也能实现拖动document.onmousemove = dv => {dv.preventDefault();const distanceX = dv.clientX - disX;const distanceY = dv.clientY - disY; // 需要上下移动可以加el.scrollTo(originalScrollLeft - distanceX, originalScrollTop - distanceY);   // 需要上下移动和左右移动// el.scrollTo(originalScrollLeft - distanceX, 0); // 不需要上下拖拽,y轴值为0};document.onmouseup = () => {document.onmousemove = null;document.onmouseup = null;el.style['scroll-behavior'] = originalScrollBehavior;el.style['pointer-events'] = originalPointerEvents;};};
};
export default dragscroll;

第二步

在main.js中引入

import dragscroll from '@/utils/directives.js'
app.directive('dragscroll',dragscroll)

 第三步

页面直接使用即可

<div id="imgBox" v-dragscroll><img src="@/assets/images/image.svg" alt="" />
</div>
http://www.lryc.cn/news/144625.html

相关文章:

  • 08 通过从 库1 复制 *.ibd 到 库2 导致 mysql 启动报错
  • 一生一芯9——ubuntu22.04安装valgrind
  • STM32中BOOT的作用 (芯片死锁解决方法)
  • 基于YOLOv8模型和DarkFace数据集的黑夜人脸检测系统(PyTorch+Pyside6+YOLOv8模型)
  • C++中<iostream> 的cin >> str 和<string>的getline(cin, str) 用来读取用户输入的两种不同方式的不同点
  • 微信报修系统有什么优势?怎么提升企业维修工作效率与管理水平?
  • 11.2.1-通货膨胀CPI
  • 服务器基础
  • mybatis中#{ }和${ }的区别
  • 【真人语音】讯飞星火个人声音训练及导出下载工具V0.2.exe
  • 正中优配:创业板指大涨3.47%!减速器等概念板块掀涨停潮!
  • 多功能租车平台微信小程序源码 汽车租赁平台源码 摩托车租车平台源码 汽车租赁小程序源码
  • spring事件和线程池区别
  • 深圳寄墨西哥专线国际物流详解
  • PHP教学资源管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页
  • 机器学习---决策树算法(CLS、ID3、CART)
  • 【算法与数据结构】404、LeetCode左叶子之和
  • Apifox下载安装步骤
  • 大华摄像头有问题,海康摄像头也有问题
  • Linux多线程同步机制(下)
  • 【QT】ComboBox的使用(14)
  • 关于写英文论文的一些总结
  • swagger 2.10.5 整合 spring boot
  • Python 练习:剔除数字
  • Linux系统编程:基础知识入门学习笔记汇总
  • 基于硬件隔离增强risc-v调试安全1_问题描述
  • OpenCV简介
  • Windows下编译qt-src-5.15.10
  • 有关linux排查服务器资源问题
  • 【设计模式】Head First 设计模式——观察者模式 C++实现