vue实现下拉菜单,左侧菜单栏折叠vue

  vue实现下拉菜单,左侧菜单栏折叠vue

  本文主要详细介绍了vue实现伸缩菜单的功能。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

  本文分享了vue的伸缩菜单的具体代码,供大家参考。具体情况如下

  先看效果:

  单击图片按钮调整菜单宽度。

  膨胀后

  页面结构分为三个部分,加上一个伸缩按钮,类名添加到你的项目的相应部分。

  我在这里定义的是框,左,中间和调整大小(按钮类名)

  超文本标记语言

  页面结构划分后,完善样式(直接复制,把菜单类名改成你的)

  /*拖放区的div样式*/。调整大小{

  光标:列-调整大小;

  位置:相对;

  //top:45%;

  顶配:400px

  背景色:# d6d6d6

  边框半径:5px

  页边距-顶部:-10px;

  宽度:10px

  高度:50px

  背景-尺寸:封面;

  背景-位置:中心;

  字体大小:32px

  颜色:白色;

  }

  /*拖放区鼠标悬停样式*/。调整大小:悬停{

  颜色:# 444444;

  }

  //左侧菜单设置百分比宽度,方便拖拽适配。主菜单{

  宽度:22%;/*右侧初始化宽度*/

  身高:100%;

  背景:#BF334E!重要;

  box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.11);

  }

  方法中的拖放功能:

  //拖动事件

  dragControllerDiv() {

  var resize=document . getelementsbyclassname( resize )

  var left=document . getelementsbyclassname( left )

  var mid=document . getelementsbyclassname( mid )

  var box=document . getelementsbyclassname( box )

  for(设I=0;我调整大小.长度;i ) {

  //鼠标按下事件

  调整[i]的大小。onmousedown=function (e) {

  //颜色变化提醒

  resize[I]. style . background= # 818181

  var startX=e.clientX

  调整[i]的大小。left=调整大小[i]。获取

  //鼠标拖动事件

  document . onmousemove=function(e){

  Console.log(“鼠标按下”)

  var endX=e.clientX

  Var len=resize [i]。left(endx-startx-270)//(endx-startx)=移动距离。调整[i]的大小。向左移动的距离=左侧区域的最后宽度。

  Maxt=box [I]。clientwidth-resize [I]。offsetwidth-270//容器宽度-左侧区域宽度=右侧区域宽度

  console.log(moveLen,maxT)

  If (moveLen 32) moveLen=270 //左侧区域的最小宽度为32px

  if(movelen maxt-150)movelen=maxt-650//右侧区域的最小宽度为150像素

  Resize[i].style.left=moveLen //设置左侧区域的宽度

  for(设j=0;j left.lengthj ) {

  console.log( left[j].风格)

  left[j].style.width=moveLen px

  mid[j].style.width=box[i]。客户端宽度-移动长度- 10 像素

  }

  }

  //鼠标释放事件

  document . onmouseup=function(evt){

  Console.log(“鼠标抬起”)

  //颜色恢复

  resize[I]. style . background= # d6d6d 6

  document.onmousemove=null

  document.onmouseup=null

  调整[i]的大小。释放捕获调整大小[i]。releasecapture()//当不再需要继续获取鼠标消息时,应该调用release capture()将其释放。

  }

  调整[i]的大小。setCapture调整大小[i]。set capture()//此函数在属于当前线程的指定窗口中设置鼠标捕获。

  返回false

  }

  }

  },

  安装内线电话:

  已安装(){

  this.dragControllerDiv()

  },

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

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

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