当前位置: 首页 > news >正文

uniapp使用css实现进度条带动画过渡效果

一、效果

二、实现原理

       1.uni.createAnimation 动画函数

        2.初始化uni.createAnimation方法

        3.监听值的变化调用动画执行方法

 三、代码

       1.实现方式比较简单,目前是vue3的写法,vue2只需要稍微改动即可

<template><view class="layout_progress"><view class="progress_step" :animation="animationData" :style="{background:activeColor}"></view></view>
</template><script setup lang="ts">import { ref, watch } from "vue";const { count, activeColor } = defineProps({count: {                        //数量type: [String, Number],default: 0},activeColor: {                 //进度条颜色type: String,default: "red"}})const animationData = ref({});const animation = ref(null);//设置动画const setAnimation = ():void => {const ANIMATION = animation.value;//转换成百分比,自己定义数据类型,如果是横向排列的,将height改为widthANIMATION.height(`${count}%`).step();    animationData.value = ANIMATION.export()}//初始化动画const initAnimation = () : void => {        const ANIMATION = uni.createAnimation({duration: 1000,timingFunction: 'ease',})animation.value = ANIMATION;}//执行initAnimation()//监听值的变化,只要当值变化或存在才会执行动画方法watch(() => count, (newV, oldV) =>newV && setAnimation(), {immediate: true})
</script><style scoped lang="scss">.layout_progress {width: 16rpx;height: 112rpx;background: #F3F4F6;border-radius: 8rpx;transform: rotate(180deg);    //因为是竖向排列的,所有要翻转180°}.progress_step {width: 16rpx;height: 0rpx;                //如果是横向排列的,只需要改动width属性border-radius: 8rpx;}
</style>

http://www.lryc.cn/news/599823.html

相关文章:

  • Elasticsearch-ik分析器
  • 轮盘赌算法
  • C语言————原码 补码 反码 (试图讲清楚版)
  • 多智能体(Multi-agent)策略模式:思维链CoT和ReAct
  • Ubuntu 环境下创建并启动一个 MediaMTX 的 systemd 服务
  • 电科金仓新一代数据库一体机:以 “云数据库 - AI 版” 破局 AI 时代,三骏守护定义行业新标杆
  • 项目管理进阶——解读软件项目管理-项目阶段复盘会(通用模板)【附全文阅读】
  • 文心4.5开源之路:从封闭到开放的力量
  • ARM-I2C硬实现
  • linux-开机启动流程
  • 编程语言Java——核心技术篇(三)异常处理详解
  • 将本地项目推送到远程github仓库
  • 学习游戏制作记录(克隆技能)7.25
  • C语言|指针的应用
  • Python 之 keyboard
  • 详解软件需求中的外部接口需求
  • 网络安全入门第一课:信息收集实战手册(3)
  • 芯显15寸工控液晶屏RV150X0M-N10产品资料详情
  • 高德地图 loca 实现点线的显示和点击
  • Ping32:企业数据安全的智能护盾
  • C++中使用Essentia实现STFT/ISTFT
  • C++中new和delete的多重面孔:operator new、new operator与placement new解析
  • 机器学习-SVM支持向量机
  • Zookeeper学习专栏(十):核心流程剖析之服务启动、请求处理与选举协议
  • 【Linux】进程切换与优先级
  • Metaspace耗尽导致OOM问题
  • 【运维自动化-标准运维】各类全局变量使用说明(下)
  • 伯俊科技× OB Cloud:零售业落地AI的“三步走”渐进式发展实践
  • 企业微信H5应用OAuth2登录,企业微信授权登录
  • 国产DevOps平台Gitee:如何重塑中国企业研发效能新格局