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

Vue中窗口拉伸效果实现(Vue2版)

Vue2

  1. 在项目中utils中新建directive.js文件,内容如下:
Vue.directive('resize', {inserted: function(el) {setTimeout(() => {// 要拉伸的窗口const dialog = el.querySelector('.el-dialog');// 设置最小拉伸尺寸dialog.style.minWidth = dialog.getBoundingClientRect().width + 'px';dialog.style.minHeight = dialog.getBoundingClientRect().height + 'px';// 在窗口右下角创建一个div,用于监听鼠标拉伸事件const resizeHandle = document.createElement('div');resizeHandle.style.position = 'absolute';resizeHandle.style.width = '10px';resizeHandle.style.height = '10px';resizeHandle.style.bottom = '0';resizeHandle.style.right = '0';resizeHandle.style.background = 'transparent';resizeHandle.style.cursor = 'nwse-resize';dialog.appendChild(resizeHandle);let startX, startY, startWidth, startHeight;resizeHandle.addEventListener('mousedown', (e) => {e.preventDefault();startX = e.clientX;startY = e.clientY;startWidth = dialog.offsetWidth;startHeight = dialog.offsetHeight;document.addEventListener('mousemove', mouseMove);document.addEventListener('mouseup', mouseUp);});function mouseMove(e) {const newWidth = startWidth + (e.clientX - startX);const newHeight = startHeight + (e.clientY - startY);dialog.style.width = `${newWidth}px`;dialog.style.height = `${newHeight}px`;}function mouseUp() {document.removeEventListener('mousemove', mouseMove);document.removeEventListener('mouseup', mouseUp);}}, 0)}
});

使用方法:
```js
// 1. 在main.js引入
import ‘@/utils/directive’;

	// 2.使用<div v-resize class="dialog"></div><el-dialog v-resize></el-dialog>
```

配合上一篇的窗口拖拽效果就能实现窗口的拖动拉伸效果啦~

http://www.dtcms.com/a/391847.html

相关文章:

  • idea学习日记1:String的构造方法和内存分析
  • MaxMind DB原理与使用详解
  • TC260-《政务大模型应用安全规范》要点总结
  • 大模型学习:使用FastText工具训练词向量
  • 用html5写一个王者荣耀英雄技能,出装计算模拟器
  • ROS2 使用功能包组织Python节点
  • LibreCAD-2.2.1.2+QT5.15.17
  • 4G、5G
  • 向华为学习——解读华为:2025年AI可信数据空间白皮书【附全文阅读】
  • 2.14composition Api
  • LVGL将本地推送至远程空仓库
  • C++——内存管理
  • EasyClick JavaScript 错误处理机制
  • 六应用层-思考题
  • 多实例部署mysql
  • 信创国产化改造(改成人大金仓)
  • 远程修改的烦恼FacePoke和cpolar联手已帮您解决
  • 基于MCP的README生成协议
  • (1)什么是机器学习?
  • 【数据结构——邻接表】
  • RNA-seq分析之单基因Wilcoxon秩和检验
  • 四网络层IP-子网掩码ARP CIDR RIP OSPF BGP 路由算法-思考题
  • [重学Rust]之智能指针
  • 团体程序设计天梯赛-练习集 L1-036 A乘以B
  • H2数据库(tcp 服务器模式)调优
  • C# 面试记录
  • 深度学习(十):逻辑回归的代价函数
  • FreeRTOS学习笔记(六):汇编指令笔记
  • 【复刻】中国城市数字经济发展对环境污染的影响及机理研究(2011-2021年)
  • Blazer:一个免费开源、基于SQL的数据分析与可视化工具