vue自定义指令 弹窗拖拽

ElementUI的Dialog弹窗实现拖拽移动功能 阅读详情
import Vue  from "vue";

//v-dialogDrag:弹窗拖拽
Vue.directive('dialogDrag',{
    bind(el,binding,vnode,oldVnode){
       const dialogHeaderEl = el.querySelector('.el-dialog__header')
       const dragDom = el.querySelector('.el-dialog')
       dialogHeaderEl.style.cursor= 'move'

       //获取原有的属性 ie dom元素.currentStyle 火狐谷歌window.getComputedStyle(dom元素, null)
       const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null)

       dialogHeaderEl.onmousedown = (e) =>{
           //鼠标按下,计算当前元素距离可视区的距离
            const disX = e.clientX - dialogHeaderEl.offsetLeft
            const disY = e.clientY - dialogHeaderEl.offsetTop

            //获取到的值带px 正则匹配替换
            let styL, styT
            //注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
            if(sty.left.includes('%')){
               styL = +document.body.clientWidth * (+sty.left.replace(/\%/g,'') / 100)
               styT = +document.body.clientHeight * (+sty.top.replace(/\%/g,'') / 100) 
            } else {
               styL = +sty.left.replace(/\px/g, '')
               styT = +sty.top.replace(/\px/g, '')
            }

            document.onmousemove = function(e){
               //通过事件委托,计算移动的距离
               const l = e.clientX - disX
               const t = e.clientY - disY
               //移动当前元素
               dragDom.style.left = `${l + styL}px`
               dragDom.style.top = `${t + styT}px`  
            }
            document.onmouseup = function(e){
                document.onmousemove = null
                document.onmouseup = null
            }
       }
    }
})
基于FPGA的图像预处理系统(图)  北京机械工业学院 韩娟娟 邓文怡 娄小平 由于获取图像的工具或手段的影响,使获取图像无法完全体现原始图像的全部信息。因此,对图像进行预处理就显得非常重要。预处理的目的是改善图像数据,抑制不需要的变形或者增强某些对于后续处理来说比较重要的图像特征。通常根据预处理目的的不同,把预处理技术归为图像增强技术和图像分割技术两类。图像对比度处理是空间域图像增强的一种方法。由于图像灰度范围狭窄会使 阅读详情

相关推荐

教程:使用树莓派连接Pixhawk飞控

教程:使用树莓派连接Pixhawk飞控树莓派可以与Pixhawk飞控相连,读取飞控中的状态信息,同时对飞控发送指令。树莓派作为一个更高性能的计算平台,可以运行图像识别、机器学习、实时路径规划等程序,为开源无人机带来了无限可能。本文将介绍如何在树莓派上使用APSync。不需要了解Linux,即可将树莓派连接到Pixhawk飞控。使用的器材为: Pixhawk飞控 树莓派3B(Raspberry Pi

Roger今天好好搬砖了吗 5万+

element-vue的dialog可拖拽指令

import Vue from 'vue' // v-dialogDrag: 弹窗拖拽 Vue.directive('dialogDrag', { bind(el, binding, vnode, oldVnode) { const dialogHeaderEl = el.querySelector('.el-dialog__header') const dragDom = el.querySelector('.el-dialog') dialogHeaderEl.style.

luxiaopengyou的博客 580

ENVI SARscape安装全攻略:从下载到汉化一步到位(附最新试用申请链接)

本文提供ENVI SARscape从下载安装到汉化的完整指南,特别针对InSAR(合成孔径雷达干涉测量)分析环境搭建。详细介绍了系统要求、分步安装流程、汉化优化方法及硬件加速配置,并分享数据处理验证和常见问题解决方案,帮助用户高效搭建遥感数据分析平台。

rnn9storyteller的博客 1407

Vue自定义指令 dialogDrag 报错:Cannot set properties of null (setting ‘onmousedown‘)

因为我没有在绑定的 div 下设定该class,所以导致获取不到控制拖动的DOM元素。排查后发现是因为拖拽指令的代码里,是要获取弹窗的头部,当按下头部才能拖动。在弹窗的 head 部分添加一个 class。Vue项目,自定义了一个拖拽弹窗的指令。

kart jim的优快云博客 1335

基于Python API的ECMWF大气数据批量下载与自动化处理实践

本文详细介绍了如何利用Python API实现ECMWF大气数据的自动化批量下载与处理。针对遥感分析中手动下载ERA5等数据的痛点,文章提供了从API密钥配置、核心脚本编写到元数据解析、任务队列调度及数据质量检查的全流程实践指南,旨在帮助科研与工程人员高效获取并处理大规模气象数据。

u8v9w0x1y的博客 479

Miniconda入门:在CentOS上的安装、基本操作、目录结构、卸载

Miniconda是一个 免费的 轻量级的 conda安装程序 它只包含conda、Python、pip、zlib等基础的文件和依赖包 使用conda install命令可从Anaconda存储库中安装额外的conda包 简介 下载 安装 基本操作 虚拟环境的操作 包的操作 目录结构 卸载

ArYe 1万+

element-ui el-dialog侧边弹窗可横向拖拽改变宽度

el-dialog侧边弹窗可横向拖拽改变宽度,并且存储到localStorage,刷新页面后依然是拖拽后的宽度 Vue.directive('dialogDrag', { inserted: function (el) { const dragDom = el.querySelector(".el-dialog"); dragDom.style.cursor = "e-resize"; const dialogHeader = el.querySelector('.el-dialog__hea

qq_30907845的博客 3015

立创·庐山派-K230-CanMV(嘉楠勘智)开发板通过ATK-ESP8266实现图像识别数据无线传输至原子云

本文详细介绍了如何使用立创·庐山派-K230-CanMV开发板,通过ATK-ESP8266 WIFI模块实现图像识别数据的无线传输至原子云平台。内容包括硬件连接、软件环境搭建、AT指令控制、原子云连接及数据上传的全过程,并提供了实用的调试技巧和常见问题解决方案,为物联网应用开发提供了完整实践指南。

potato的博客 741

elementUI设置dialog从左侧滑出

使用CSS3的 translate3d 演示来实现动画效果w3school链接 控制100%和0的位置,可以控制从不同方向滑出translate3d(x,y,z) @keyframes dialog-fade-in { 0% { transform: translate3d(100%, 0, 0); opacity: 0; } 100%...

sayoko06的博客 1万+

【用unity实现100个游戏之7】实现一个类《杀戮尖塔》的卡牌回合制游戏(附项目源码)

【用unity实现100个游戏之7】实现一个类《杀戮尖塔》的卡牌回合制游戏(附项目源码)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1万+

YOLOv11-seg改进系列 | 引入CVPR2022 MetaFormer,零参数池化Token混合+StarReLU MLP,精度涨不掉速

本文提出了一种改进YOLOv11分割任务的C3k2_PoolingFormer模块,通过引入MetaFormer架构和Pooling Token Mixer,在保持模型轻量化的同时增强全局感受野建模能力。核心创新包括:1)使用零参数的AvgPool3×3差值作为Token Mixer,实现高效邻域信息聚合和局部对比增强;2)采用StarReLU MLP替代传统激活函数,提升非线性表达能力。改进后模型仅增加6.1%参数量,却能显著提升分割精度,特别适用于需要长程依赖建模的实例分割任务。该设计为轻量级视觉模型提

qq_44224801的博客 431

vue3使用自定义指令简单实现一个可拖拽弹窗组件

vue3使用自定义指令简单实现一个可拖拽弹窗组件

厚积薄发. 1190

HLA分型

HLA分型 一、根据WES的tumor数据进行数据分型 选用hlahd 软件安装及使用 [root@18605fd8771e ~]# wget https://jaist.dl.sourceforge.net/project/bowtie-bio/bowtie2/2.4.1/bowtie2-2.4.1-linux-x86_64.zip [root@18605fd8771e ~]# unzip bowtie2-2.4.1-linux-x86_64.zip && mv bowtie2-2.4.1

qq_23435961的博客 2487

Vue自定义指令实现弹窗拖拽,四边拉伸及对角线拉伸

Vue自定义指令实现弹窗拖拽,四边拉伸及对角线拉伸引言页面布局drag.js文件弹窗拖拽实现及边界限制插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 引言 近期公司vue前端项目需求:实现弹窗的拖拽,四边拉伸及对角线拉伸,以及弹窗边界处理。本人使用vue的自定义指令编写了drag.js文件

liuyingxiu1的博客 3818

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

vue自定义弹窗拖拽指令

自定义弹窗拖拽指令 第一步: src目录下新建目录directive,然后在directive目录下的新建文件el-drag-dialog.js,在该文件里实现了拖拽逻辑。 el-drag-dialog.js文件代码如下: export default { bind(el, binding, vnode) { const dialogHeaderEl = el.querySelector('.el-dialog__header') const dragDom = e

weixin_44293690的博客 821

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

vue自定义指令弹窗拖拽

vue自定义指令弹窗拖拽

m0_72200584的博客 526

vue2自定义指令,弹窗拖拽,设置拖拽界限

vue2自定义指令,设置弹窗拖拽,设置拖拽界限

weixin_56654424的博客 2787

Vue3自定义指令实现鼠标拖拽、触摸拖拽弹窗

【代码】Vue3自定义指令实现鼠标拖拽、触摸拖拽弹窗。

张先生的前端日志 536

弹窗实现拖拽(Vue自定义指令)

弹窗实现拖拽(Vue自定义指令)

qq_46344419的博客 135

vue v-dialogDrag自定义指令 + element-ui: 实现弹窗拖拽组件

有一个dialog弹框,弹框的背景并不是全屏的,只在除header,sidebar的地方显示,要求拖拽dialog弹框不能超过背景。 在components/common创建directives.js,具体代码如下: import Vue from 'vue'; // v-dialogDrag: 弹窗拖拽属性 Vue.directive('dialogDrag', { bind(el, ...

weixin_46391323的博客 8654

vue常用自定义指令(弹窗拖拽、阻止重复点击、输入框失焦去空格等)

【前端】vue常用自定义指令(弹窗拖拽、阻止重复点击、输入框失焦去空格等)

qq_55874738的博客 544

Vue2+Element 弹窗(Dialog)可拖拽自定义指令

Vue2+Element 弹窗(Dialog)可拖拽自定义指令

weixin_50651687的博客 533

vue中通过自定义指令实现一个可拖拽,缩放的弹窗

指令代码 vue组件代码,弹窗

qq_42451776的博客 1440

vue+element实现弹窗拖拽

因为element没有自带弹窗拖拽效果,所以就需要自定义指令去控制 可能写的不好,请多指教 首先新建一个js,作为指令 import Vue from 'vue'; /**** *自定义弹窗拖拽指令 *Autor USER-T * time 2020-05-13 **** */ // v-dialogDrag: 弹窗拖拽 Vue.directive('dialogDrag', { bind(el, binding, vnode, oldVnode) { const dialogHe

qq_35864320的博客 1241

vue 自定义指令弹窗鼠标拖拽弹窗表头,弹窗移动

vue自定义指令拖拽

qq_43151592的博客 2027

vue封装自定义指令-弹窗拖拽属性

【代码】vue封装自定义指令-弹窗拖拽属性。

wm2024的博客 243

如何让ElementUI的Dialog弹窗可以拖拽移动

实现原理: 利用vue创造一个自定义指令,绑定到需要拖拽移动的el-dialog组件上,在自定义指令中处理弹窗拖拽。

Comvir的专栏 1万+
上一篇: vue自定义指令 输入框自动聚焦
下一篇: input框focus,让外层的div产生样式变化:div的focus伪类
前端小li
博客等级 码龄7年 14粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值