VUE实现拖拽,vue滚动分页

  VUE实现拖拽,vue滚动分页

  本文主要详细介绍了vue对拖拽式滑动隔断面板的实现。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

  本文分享vue实现拖拽滑动分屏的具体代码,供大家参考。具体内容如下

  

需求背景

  左边是列表,右边是细节。要查看更大范围的详细信息,请拖放滑块以分割面板。

  

整体思路

  在版式上,采用flex版式,单位采用百分比。Set flex: 1,让它自动拉伸滑块,计算滑动时滑块占整个页面的百分比,通过动态样式将百分比赋给列表页面的宽度并改变滑块的位置(也是百分比形式)。其次,使用vue中的鼠标事件

代码实现

  。

  在模板中写入事件

  @mousedown.prevent=mousedown

  在方法中编写方法

  /**

  *按下鼠标。

  */

  mousedown() {

  document . addevent listener( mousemove ,this.handleMouseMove,false);

  document . addevent listener( mouseup ,this.handleMouseUp,false);

  },

  /**

  *按下滑块并移动鼠标。

  */

  handleMouseMove(e) {

  /**

  *计算集装箱的总宽度

  *计算滑块到左侧的距离。

  *计算偏移百分比:(滑块到左侧的距离/页面宽度)* 100

  *传递移动百分比和离开左侧的距离。

  */

  const clientRect=this。$ refs . main content . getboundingclientrect();

  const offset=e.pageX

  const panel percent=(offset/client rect . width)* 100;

  this . panel percent=panel percent;

  this.mainContentWidth=offset

  这个。$ refs . img move . style . left=panel percent“%”;

  Console.log(拖动,this . panel percent);

  },

  /**

  *松开滑块。

  */

  handleMouseUp () {

  document . removeeventlistener( mousemove ,this.handleMouseMove,false);

  },

  边界的处理

  if (this.panelPercent this.min) {

  this.panelPercent=this.min

  }

  if (this.panelPercent this.max) {

  this.panelPercent=this.max

  }

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

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

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