css 前端实现通过css动画实现进度条动态加载效果

在这里插入图片描述

效果图

在这里插入图片描述

代码

CommonProcess.vue 进度条动态加载组件代码

<!-- 进度条组件 -->
<template>
  <div class="common_process">
    <div v-for="(item, index) in dataList" :key="processType + index" class="common_process_item">
      <div class="common_process_item_dept cyan">
        <div>
          <span class="common_process_item_dept_index">NO.{{ index + 1 }}</span>
          {{ item[bmmcField] }}
        </div>
        <div v-if="processType === 'jysg'">{{ item[slField] | noDataFilter }}</div>
      </div>
      <div class="common_process_item_line">
        <div
          class="common_process_item_line_process"
          :style="{ '--width': (item[slField] / total) * 100 + '%' }"
        />
      </div>
    </div>
  </div>
</template>

<script>
export default {
  name: 'CommonProcess',
  components: {},

  props: {
    processType: {
      type: String,
      // required: true
      default: 'jysg'
    },
    dataList: {
      type: Array,
      // required: true
      default: () => {
        return [...Array(10).keys()]
          .map((num) => {
            return {
              bmmc: '部门' + (num + 1),
              sl: num
            }
          })
          .reverse()
      }
    },
    total: {
      type: [Number, String],
      // required: true
      default: [...Array(10).keys()].reduce((a, b) => a + b, 0)
    },
    bmmcField: {
      type: String,
      default: 'bmmc'
    },
    slField: {
      type: String,
      default: 'sl'
    }
  }
}
</script>

<style lang='scss' scoped>
.common_process {
  padding: 0 10px;
  &_item {
    padding: 7px 0;
    &_dept {
      display: flex;
      justify-content: space-between;
      margin-bottom: 5px;
      padding-right: 5px;
      font-size: 13px;
      &_index {
        padding: 2px 3px;
        border-radius: 3px;
        background: linear-gradient(90deg, #236cdc 0%, #00c0ff 100%);
        font-weight: bold;
        color: #fff;
      }
    }
    &_line {
      height: 8px;
      background-color: rgba(64, 158, 255, 0.1);
      border-top-right-radius: 8px;
      border-bottom-right-radius: 8px;
      &_process {
        position: relative;
        width: var(--width);
        height: 100%;
        background: linear-gradient(90deg, #236cdc 0%, #00c0ff 100%);
        animation: move 1s; /* 【主要代码】添加动画 */

        @keyframes move {  /* 【主要代码】添加动画 */
          0% {
            width: 0%;
          }
          100% {
            width: var(--width);  /* 【主要代码】宽度不固定,需要计算,通过 style 属性传入 --width */
          }
        }

        &::after {
          content: '';
          position: absolute;
          top: -2px;
          right: 0;
          width: 6px;
          height: 12px;
          border-radius: 2px;
          background-color: #fff;
          box-shadow: 0 0 10px #faad14;
        }
      }
    }
  }
}
</style>

使用 “进度条动态加载” 组件

<template>
	<CommonProcess v-if="select === 'ybsg'" />
</template>

<script>
import CommonProcess from './CommonProcess'

export default {
  name: 'Accident',
  components: {
    CommonProcess
  },
}
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/324496.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Qt6入门教程 6:Qt元对象系统

目录 一.什么是Qt元对象系统&#xff1f; 二.编译时Qt Creator偷摸做了哪些事情&#xff1f; 1.uic 2.rcc 3.moc 一.什么是Qt元对象系统&#xff1f; Qt中的元对象系统&#xff08;Meta-Object System&#xff09;提供了对象间通信的信号和槽机制、运行时类型信息和动态属…

算法复习——01背包

01背包 DP分析法要素有&#xff1a;集合&#xff0c;属性&#xff0c;状态计算 &#xff08;集合是指只考虑前i个&#xff0c;总体积小于等于j的所有选法&#xff0c;存取的属性是所有选法的最大值&#xff09; 状态方程计算&#xff08;所有选法可以分为2种不同的子集&#x…

快速高效处理长图:按指定高度切长图的方法,提升设计品质

在现代视觉传达设计中&#xff0c;长图作为一种常见的表现形式&#xff0c;被广泛应用于各种场景。如何快速高效地处理长图&#xff0c;使其符合设计要求和用户体验&#xff0c;成为设计师们面临的一大挑战。现在来看“办公提效工具”如何按指定高度切长图&#xff0c;提升设计…

华清远见作业第二十七天——网络编程(第二天)

思维导图&#xff1a; 在虚拟机实现客户端控制机械臂 代码&#xff1a; #include<stdio.h> #include<string.h> #include<stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <a.h> #define SER_PORT 8888 //服务端口 #d…

基于信号完整性的PCB设计原则

最小化单根信号线质量的一些PCB设计建议 1. 使用受控阻抗线&#xff1b; 2. 理想情况下&#xff0c;所有信号都应该使用完整的电源或地平面作为其返回路径&#xff0c;关键信号则使用地平面作为返回路径&#xff1b; 3. 信号的返回参考面发生变化时&#xff0c;在尽可能接近…

Seaborn——可视化的具体API应用

一、Seaborn概述 Seaborn 是基于 matplotlib的图形可视化 python包。提供了一种高度交互式界面&#xff0c;便于用户能够做出各种有吸引力的统计图表。 Seaborn在 matplotlib的基础上进行了更高级的API封装&#xff0c;从而使得作图更加容易&#xff0c;在大多数情况下使用seab…

WEB 3D技术 three.js 阴影属性

上文 WEB 3D技术 three.js 光照与阴影 我们说了阴影 那么 我们继续将阴影的属性 目前 我们的代码 import ./style.css import * as THREE from "three"; import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";//创建相机 cons…

集成xxljob项目如何迁移到K8S

前言 大家好&#xff0c;今天我们将基于XXL-Job&#xff0c;探讨任务调度迁移到云端的相关话题。 XXL-Job是一款功能强大、易用可靠的国产分布式任务调度平台&#xff0c;是目前国内使用比较广泛的分布式任务调度平台之一。它的主要特点包括&#xff1a; 支持分布式、多线程…

Java中的异常处理

目录 前言&#xff1a; 异常简介&#xff1a; Error类&#xff1a; Exception类&#xff1a; Exception异常&#xff1a; 运行异常&#xff1a; 编译异常&#xff1a; throw和throws关键字&#xff1a; throw: throws: try-catch关键字&#xff1a; finally: 为…

nvcc -V显示command not found

出现这个问题&#xff0c;不仅是 nvcc -V会显示command not found,nvidia-smi同样也会显示 解决方法如下&#xff1a; 1&#xff09;这里首先转换到CUDA所在位置&#xff0c;一般是在这个位置 cd /usr/local 2&#xff09;打开、编辑环境变量的配置文件 vim ~/.bashrc …

NLP论文阅读记录 - 2021 | WOS 利用 ParsBERT 和预训练 mT5 进行波斯语抽象文本摘要

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.前提三.本文方法A. 序列到序列 ParsBERTB、mT5 四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 Leveraging ParsBERT and Pretrained …

【JupyterLab】在 conda 虚拟环境中 JupyterLab 的安装与使用

【JupyterLab】在 conda 虚拟环境中 JupyterLab 的安装与使用 1 JupyterLab 介绍2 安装2.1 Jupyter Kernel 与 conda 虚拟环境 3 使用3.1 安装中文语言包(Optional)3.2 启动3.3 常用快捷键3.3.1 命令模式下 3.4 远程访问个人计算机3.4.1 局域网下 1 JupyterLab 介绍 官方文档: …

分布式搜索——Elasticsearch

Elasticsearch 文章目录 Elasticsearch简介ELK技术栈Elasticsearch和Lucene 倒排索引正向索引倒排索引正向和倒排 ES概念文档和字段索引和映射Mysql与Elasticsearch 安装ES、Kibana安装单点ES创建网络拉取镜像运行 部署kibana拉取镜像部署 安装Ik插件扩展词词典停用词词典 索引…

政采网调试要求及常见问题解决方法

登录平台软件环境要求&#xff1a; 操作系统&#xff1a;建议Win10及以上&#xff08;Win10-64位专业版 版本号17134纯净安装版本&#xff09; 浏 览 器&#xff1a;IE11浏览器、谷歌120.0.6099.217&#xff08;64位正式版&#xff09;浏览器 必要软件&#xff1a;CA互联互通…

python高校舆情分析系统+可视化+情感分析 舆情分析+Flask框架(源码+文档)✅

毕业设计&#xff1a;2023-2024年计算机专业毕业设计选题汇总&#xff08;建议收藏&#xff09; 毕业设计&#xff1a;2023-2024年最新最全计算机专业毕设选题推荐汇总 &#x1f345;感兴趣的可以先收藏起来&#xff0c;点赞、关注不迷路&#xff0c;大家在毕设选题&#xff…

蓝桥杯省赛无忧 STL 课件19 第2次学长带练

01 讲解例题 02 复习和拓展课程知识

HDFS和MapReduce综合实训

文章目录 第1关&#xff1a;WordCount词频统计第2关&#xff1a;HDFS文件读写第3关&#xff1a;倒排索引第4关&#xff1a; 网页排序——PageRank算法 第1关&#xff1a;WordCount词频统计 测试说明 以下是测试样例&#xff1a; 测试输入样例数据集&#xff1a;文本文档test1…

上下左右视频转场模板PR项目工程文件 Vol. 05

pr转场模板&#xff0c;视频画面上下左右转场后带有一点点回弹效果的PR项目工程模板 Vol. 05 项目特点&#xff1a; 回弹效果视频转场&#xff1b; Premiere Pro 2020及以上&#xff1b; 适用于照片和视频转场&#xff1b; 适用于任何FPS和分辨率&#xff1b; 视频教程。 PR转场…

从0开始学Git指令(3)

从0开始学Git指令 因为网上的git文章优劣难评&#xff0c;大部分没有实操展示&#xff0c;所以打算自己从头整理一份完整的git实战教程&#xff0c;希望对大家能够起到帮助&#xff01; 远程仓库 Git是分布式版本控制系统&#xff0c;同一个Git仓库&#xff0c;可以分布到不…

训练官方源码RT-DETR(血泪的教训!严格按照官方流程!)

文章目录 参考链接1 配置环境2 配置数据路径3 配置训练参数4 可能的报错AttributeError: module torchvision has no attribute disable_beta_transforms_warning 参考链接 源码&#xff1a;https://github.com/lyuwenyu/RT-DETR详解RT-DETR网络结构/数据集获取/环境搭建/训练…