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

哪个网站可以做视频播放器建筑工程网络计划方法

哪个网站可以做视频播放器,建筑工程网络计划方法,wordpress名片主题,wordpress插件events前言 在实际开发中我们经常使用el-dialog弹出框做表单#xff0c;一般情况都是居中。遮挡到了一部分数据 当我们想要查看弹出框下面的数据时#xff0c;就只能先把弹出框关闭#xff0c;查看完数据之后在打开弹框 我们通过动态样式#xff0c;和鼠标事件就可以实现。但自…前言 在实际开发中我们经常使用el-dialog弹出框做表单一般情况都是居中。遮挡到了一部分数据 当我们想要查看弹出框下面的数据时就只能先把弹出框关闭查看完数据之后在打开弹框 我们通过动态样式和鼠标事件就可以实现。但自己写的在适配性和全面性上还是有所欠缺的 这种我们可以直接复制使用写成全局自定义指令。多的地方使用并且只做加法 代码实现-没有自定义指令情况下 1.来到src/创建directive文件夹 2.在src/directive/创建dialog文件夹专门用来放关于dialog的代码 3.在src/directive/dialog创建drag.js文件-弹出框的拖拽-代码如下 /*** v-dialogDrag 弹窗拖拽*/ export default {bind(el, binding, vnode, oldVnode) {const value binding.valueif (value false) return// 获取拖拽内容头部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);dragDom.style.position absolute;dragDom.style.marginTop 0;let width dragDom.style.width;if (width.includes(%)) {width document.body.clientWidth * (width.replace(/%/g, ) / 100);} else {width width.replace(/\px/g, );}dragDom.style.left ${(document.body.clientWidth - width) / 2}px;// 鼠标按下事件dialogHeaderEl.onmousedown (e) {// 鼠标按下计算当前元素距离可视区的距离 (鼠标点击位置距离可视窗口的距离)const disX e.clientX - dialogHeaderEl.offsetLeft;const disY e.clientY - dialogHeaderEl.offsetTop; ​// 获取到的值带px 正则匹配替换let styL, styT; ​// 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为pxif (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; ​let finallyL l styLlet finallyT t styT ​// 移动当前元素dragDom.style.left ${finallyL}px;dragDom.style.top ${finallyT}px; ​}; ​document.onmouseup function (e) {document.onmousemove null;document.onmouseup null;};}} } ​ 4.在src/directive/dialog创建dragWidth.js文件-弹出框的宽度改变-代码如下 /*** 可拖动弹窗宽度右侧边*/ ​ export default {bind(el) {const dragDom el.querySelector(.el-dialog);const lineEl document.createElement(div);lineEl.style width: 5px; background: inherit; height: 80%; position: absolute; right: 0; top: 0; bottom: 0; margin: auto; z-index: 1; cursor: w-resize;;lineEl.addEventListener(mousedown,function (e) {// 鼠标按下计算当前元素距离可视区的距离const disX e.clientX - el.offsetLeft;// 当前宽度const curWidth dragDom.offsetWidth;document.onmousemove function (e) {e.preventDefault(); // 移动时禁用默认事件// 通过事件委托计算移动的距离const l e.clientX - disX;dragDom.style.width ${curWidth l}px;};document.onmouseup function (e) {document.onmousemove null;document.onmouseup null;};}, false);dragDom.appendChild(lineEl);} } ​ 5.在src/directive/dialog创建dragHeight.js文件-弹出框的宽度和高度改变-代码如下 /*** 可拖动弹窗高度右下角- 也可以改变高度和宽度*/ ​ export default {bind(el) {const dragDom el.querySelector(.el-dialog);const lineEl document.createElement(div);lineEl.style width: 6px; background: inherit; height: 10px; position: absolute; right: 0; bottom: 0; margin: auto; z-index: 1; cursor: nwse-resize;;lineEl.addEventListener(mousedown,function(e) {// 鼠标按下计算当前元素距离可视区的距离const disX e.clientX - el.offsetLeft;const disY e.clientY - el.offsetTop;// 当前宽度 高度const curWidth dragDom.offsetWidth;const curHeight dragDom.offsetHeight;document.onmousemove function(e) {e.preventDefault(); // 移动时禁用默认事件// 通过事件委托计算移动的距离const xl e.clientX - disX;const yl e.clientY - disYdragDom.style.width ${curWidth xl}px;dragDom.style.height ${curHeight yl}px;};document.onmouseup function(e) {document.onmousemove null;document.onmouseup null;};}, false);dragDom.appendChild(lineEl);} } ​ 6.在src/directive/创建index.js文件-对自定义指令统一注册-代码如下 // dialog弹出框-可拖动 import dialogDrag from ./dialog/drag // dialog弹出框-宽度可拖动 import dialogDragWidth from ./dialog/dragWidth // dialog弹出框-高度可拖动也可拖动宽度 import dialogDragHeight from ./dialog/dragHeight ​ const install function (Vue) {// dialog弹出框-可拖动-使用v-dialogDragVue.directive(dialogDrag, dialogDrag)// dialog弹出框-宽度可拖动-使用v-dialogDragWidthVue.directive(dialogDragWidth, dialogDragWidth)// dialog弹出框-高度可拖动也可拖动宽度- 使用v-dialogDragHeightVue.directive(dialogDragHeight, dialogDragHeight) } ​ ​ export default install ​ 7.来到main.js引入注册 // 自定义指令 import directive from ./directive ​ // 挂载 Vue.use(directive) 8.来到页面使用 总结 经过这一趟流程下来相信你也对 vue el-dialog弹出框自定义指令实现拖拽改变位置-宽度-高度 有了初步的深刻印象但在实际开发中我 们遇到的情况肯定是不一样的所以我们要理解它的原理万变不离其宗。加油打工人 什么不足的地方请大家指出谢谢 -- 風过无痕
http://www.pierceye.com/news/900834/

相关文章:

  • 长沙做网站的有哪些wordpress投稿页面路径怎么写
  • 京东第一次做网站如何做像淘宝一样的网站
  • 南湖网站建设公司怎么用iapp做网站软件
  • 永康网站建设专业公司六安网约车收入怎么样
  • 长沙品质企业建站服务电话随州公司做网站
  • 怎么做期货网站永久免费linux服务器
  • 怎么访问被禁止的网站微信商城网站方案
  • 建设网站需要会什么简单网页代码html
  • 南通网站怎么推广淘客选品网站开发
  • 网站开发的风险与风险管理网站名字
  • 朝阳网站视频拍摄脚本
  • 嘉兴建站模板源码郑州网站开发的公司电话
  • 新乡网站开发的公司电话百度热搜风云榜
  • 福永网站的建设福州
  • 抚州市临川区建设局网站eaccelerator wordpress
  • 如何让网站自适应屏幕门户网站主要特点和功能
  • 网站维护费用怎么收网站下载的软件怎么安装
  • 做电子相册的网站省住房和城乡建设厅官方网站
  • 什么是自助网站网页设计与制作课件和素材
  • 如何为网站建设内容wordpress去水印插件
  • 办公家具网站模版制作手机软件网站
  • 诚信网站认证必需做吗网站建设mfdos
  • 廊坊网站建设哪家权威网址导航大全排名
  • 北京建站公司哪个好05网电子书
  • 权威网站设计wordpress通知站点360搜索
  • 做靓号网站凡客小程序
  • 创建网站开发公司公司做个网站
  • 做网站的工具+论坛html怎么自己做网站
  • 土木在线seo网站快速整站优化技术
  • 创造力网站设计建设有限公司网站