iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vue实现拖拽进度条的方法
  • 856
分享到

vue实现拖拽进度条的方法

2023-06-06 15:06:07 856人浏览 泡泡鱼
摘要

本文将为大家详细介绍“Vue实现拖拽进度条的方法”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“vue实现拖拽进度条的方法”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧

本文将为大家详细介绍“Vue实现拖拽进度条的方法”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“vue实现拖拽进度条的方法”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧。

具体内容如下

vue实现拖拽进度条的方法

组件代码:

<template> <div>  <div class="slider" ref="slider">   <div class="process" :></div>   <div class="thunk" ref="trunk" :>    <div class="block"></div>    <div class="tips">     <!-- <span>{{scale*100}}</span> -->     <i class="fas fa-caret-down"></i>    </div>   </div>  </div>  <div>   <button    @click="     () => {      this.per++;     }    "   >    +</button   >{{ per }}%<button    @click="     () => {      if (this.per > 0) {       this.per--;      }     }    "   >    -   </button>  </div> </div></template><script>export default { props: ["min", "max", "value"], data() {  return {   slider: null, //滚动条DOM元素   thunk: null, //拖拽DOM元素   per: this.value, //当前值  }; }, //渲染到页面的时候 mounted() {  this.slider = this.$refs.slider;  this.thunk = this.$refs.trunk;  var _this = this;  this.thunk.onmousedown = function (e) {   var width = parseInt(_this.width);   var disX = e.clientX;   document.onmousemove = function (e) {    // value, left, width    // 当value变化的时候,会通过计算属性修改left,width    // 拖拽的时候获取的新width    var newWidth = e.clientX - disX + width;    // 拖拽的时候得到新的百分比    var scale = newWidth / _this.slider.offsetWidth;    _this.per = Math.ceil((_this.max - _this.min) * scale + _this.min);    _this.per = Math.max(_this.per, _this.min);    _this.per = Math.min(_this.per, _this.max);    _this.$emit("input", _this.per);   };   document.onmouseup = function () {    document.onmousemove = document.onmouseup = null;   };   return false;  }; }, computed: {  // 设置一个百分比,提供计算slider进度宽度和trunk的left值  // 对应公式为 当前值-最小值/最大值-最小值 = slider进度width / slider总width  // trunk left = slider进度width + trunk宽度/2  scale() {   return (this.per - this.min) / (this.max - this.min);  },  width() {   if (this.slider) {    return this.slider.offsetWidth * this.scale + "px";   } else {    return 0 + "px";   }  },  left() {   if (this.slider) {    return (     this.slider.offsetWidth * this.scale -     this.thunk.offsetWidth / 2 +     "px"    );   } else {    return 0 + "px";   }  }, },};</script><style>.box { margin: 100px auto 0; width: 80%;}.clear:after { content: ""; display: block; clear: both;}.slider { user-select: none; position: relative; margin: 20px 0; width: 400px; height: 10px; background: #e4e7ed; border-radius: 5px; cursor: pointer;}.slider .process { position: absolute; left: 0; top: 0; width: 112px; height: 10px; border-radius: 5px; background: #81b159;}.slider .thunk { position: absolute; left: 100px; top: -7px; width: 20px; height: 20px;}.slider .block { width: 20px; height: 20px; border-radius: 50%; border: 2px solid #409eff; background: rgba(255, 255, 255, 1); transition: 0.2s all;}.slider .tips { position: absolute; left: -7px; bottom: 30px; min-width: 15px; text-align: center; padding: 4px 8px;  border-radius: 5px; height: 24px; color: #fff;}.slider .tips i { position: absolute; margin-left: -5px; left: 50%; bottom: -9px; font-size: 16px; color: #000;}.slider .block:hover { transfORM: scale(1.1); opacity: 0.6;}</style>

调用:

<template> <slider :min="0" :max="100" v-model="per"></slider></template><script>import slider from "@/components/slider";export default { data() {  return {}; }, computed: {  per: {   get() {    return 0;   },   set(val) {    console.log(val);   },  }, }, components: { slider }, mounted() {}, methods: {},};</script><style ></style>

如果你能读到这里,小编希望你对“vue实现拖拽进度条的方法”这一关键问题有了从实践层面最深刻的体会,具体使用情况还需要大家自己动手实践使用过才能领会,如果想阅读更多相关内容的文章,欢迎关注编程网精选频道!

--结束END--

本文标题: vue实现拖拽进度条的方法

本文链接: https://www.lsjlt.com/news/247582.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue实现拖拽进度条的方法
    本文将为大家详细介绍“vue实现拖拽进度条的方法”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“vue实现拖拽进度条的方法”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧...
    99+
    2023-06-06
  • react可拖拽进度条的实现
    效果 import { FC, ReactElement, useRef } from "react"; import styled from "styled-componen...
    99+
    2024-04-02
  • JavaScript实现可拖拽的进度条
    本文实例为大家分享了JavaScript实现可拖拽的进度条的具体代码,供大家参考,具体内容如下 一.进度条实现 <html> <head> <m...
    99+
    2024-04-02
  • react可拖拽进度条怎么实现
    本文小编为大家详细介绍“react可拖拽进度条怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“react可拖拽进度条怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果import {&n...
    99+
    2023-06-30
  • JavaScript如何实现可拖拽的进度条
    这篇文章给大家分享的是有关JavaScript如何实现可拖拽的进度条的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一.进度条实现<html><head>  <me...
    99+
    2023-06-15
  • JS实现圆形进度条拖拽滑动
    本文实例为大家分享了JS实现圆形进度条拖拽滑动的具体代码,供大家参考,具体内容如下 效果展示 半圆进度条效果 圆形进度条 代码实现 <!doctype html>...
    99+
    2024-04-02
  • JS实现拖拽进度条改变元素透明度
    今天要分享的是运用原生JS拖拽进度条改变元素透明度,效果如下: 以下是代码实现,欢迎大家复制粘贴。 <!DOCTYPE html> <html> &...
    99+
    2024-04-02
  • vue中怎么实现一个拖拽进度条滑动组件
    这期内容当中小编将会给大家带来有关vue中怎么实现一个拖拽进度条滑动组件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。调用组件如下:<slider :mi...
    99+
    2024-04-02
  • vue实现div高度可拖拽
    本文实例为大家分享了vue实现div高度可拖拽的具体代码,供大家参考,具体内容如下 这里有一个现成的demo,可以实现页面div的拖拽功能,但是和我想要的效果不是很一样,所以说后边有...
    99+
    2024-04-02
  • Vue实现可拖拽组件的方法
    本文为大家分享了Vue实现可拖拽、拖拽组件,供大家参考,具体内容如下 描述: 组件仅封装拖拽功能,内容通过#header、#default、#footer插槽 自定义 效果:&nbs...
    99+
    2024-04-02
  • vue实现可拖拽div大小的方法
    下面看下vue中可拖拽div大小的方法。 可封装为全局方法在项目中所需要地方直接调用(mixins) 方法: 参数: 1.allBox:最外层第div class;2.leftBox...
    99+
    2024-04-02
  • vue中的可拖拽宽度div怎么实现
    这篇文章主要介绍“vue中的可拖拽宽度div怎么实现”,在日常操作中,相信很多人在vue中的可拖拽宽度div怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中的可拖拽宽度div怎么实现”的疑惑有所...
    99+
    2023-06-29
  • vue中的可拖拽宽度div的实现示例
    主要思路 在需要拖拽宽度的区域设置一个div,高度设为 100%,宽度尽量窄一些(也不要太窄,3~6px左右)在此div上绑定当“鼠标按下”时,触发docum...
    99+
    2024-04-02
  • vue实现拖拽小图标
    如何给vue项目里面写拖拽悬浮小图标呢,供大家参考,具体内容如下 首先 1、html文件 一定要给父盒子一个ID <div       class="xuanfu"      ...
    99+
    2024-04-02
  • HTML5实现元素拖拽的方法
    这篇文章将为大家详细讲解有关HTML5实现元素拖拽的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先上示例:index.htmlXML/HTML Code复制内容到剪...
    99+
    2024-04-02
  • vue拖拽添加的简单实现
    本文主要介绍了vue拖拽添加的简单实现,具体如下: 效果图 并没有判断是否重复,没有删除旧数据 数据体 <MyShuttle :dataOrigin='[ ...
    99+
    2024-04-02
  • vue实现可拖拽的dialog弹框
    本文主要介绍了vue实现可拖拽的dialog弹框,分享给大家,具体如下: element的dialog弹框在项目中挺常用的。但有时候嵌套的话会遮住,体验不好。拖拽形式的弹框会提高用...
    99+
    2024-04-02
  • vue如何实现拖拽添加
    这篇文章主要为大家展示了“vue如何实现拖拽添加”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何实现拖拽添加”这篇文章吧。效果图并没有判断是否重复,没有删除旧数据数据体 <...
    99+
    2023-06-22
  • linux shell实现进度条的方法
    这篇文章主要讲解了“linux shell实现进度条的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux shell实现进度条的方法”吧!直接看代码吧,很简单代码如下:#!/bin...
    99+
    2023-06-09
  • vue实现拖拽窗口功能
    本文实例为大家分享了vue拖拽窗口简单实现代码,供大家参考,具体内容如下 效果 实现代码 <template>   <transition>     <...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作