vue弹窗可拖动,vue实现拖拽可视化

  vue弹窗可拖动,vue实现拖拽可视化

  这篇文章主要为大家详细介绍了某视频剪辑软件实现拖拽窗口功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  本文实例为大家分享了某视频剪辑软件拖拽窗口简单实现代码,供大家参考,具体内容如下

  效果

  实现代码

  模板

  过渡

  !-绑定风格中顶端和左边

  div class= moveBox :style= position v-show= show

  差异

  class=moveHead

  @mousedown=mousedown

  @mousemove=mousemove

  @mouseup=mouseup

  @mouseleave=mousemove

  /div

  !-关闭按钮-

  div class= close @ click=切换显示/div

  div class=内容

  !-插槽-

  插槽/插槽

  /div

  /div

  /过渡

  /模板

  脚本

  导出默认值{

  名称:移动盒子,

  data() {

  返回{

  show: true,//是否显示

  x: 100,//left:x

  y: 50,//top:y

  左偏移量:0,//鼠标距离移动窗口左侧偏移量

  拓扑偏移量:0,//鼠标距离移动窗口顶部偏移量

  isMove: false,//是否移动标识

  };

  },

  计算值:{

  //顶部与左边的加上像素

  位置(){

  return ` top:$ { this。y } px左:$ { this.x } px

  },

  },

  方法:{

  //控制打开关闭

  toggleShow() {

  this.x=100

  this.y=50

  this.show=!这个. show

  },

  鼠标按下(事件){

  //鼠标按下事件

  这个。左偏移=事件。offsetx

  这个。顶部偏移=事件。小康;

  this.isMove=true

  },

  //鼠标移动

  鼠标移动(事件){

  如果(!this.isMove) {

  返回;

  }

  这个。x=事件。clientx-这个。左偏移;

  这个。y=事件。客户-这个。抵消;

  },

  //鼠标抬起

  mouseup() {

  this.isMove=false

  },

  },

  };

  /脚本

  style lang=less 范围。moveBox {

  宽度:500像素

  高度:300像素

  位置:固定;

  盒影:0 0 5px 3px # 95a5a 6;移动头{

  高度:30px

  背景色:# bdc3c7

  光标:移动;

  }。关闭{

  位置:绝对;

  右:0;

  top:0;

  行高:30px

  字体大小:24px

  光标:指针;

  显示:块;

  宽度:30px

  高度:30px

  文本对齐:居中;

  }

  }。回车,五-离开到{

  不透明度:0;

  变换:缩放(0.5);

  }。内容{

  填充:10px

  }。v-enter-active。五-离开-活动{

  过渡:全0.5s轻松;

  }

  /风格

  使用

  模板

  div class=home

  button @ click= $ refs。移动盒子。切换显示()切换移动框/按钮

  移动框引用=移动框

  你好世界

  /移动框

  /div

  /模板

  代码没什么难度,主要是使用了定位,在鼠标移动事件中定义顶端和左边的值。

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: