当前位置: 首页 > 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.dtcms.com/a/297282.html

相关文章:

  • uniapp之微信小程序标题对其右上角按钮胶囊
  • golang怎么实现每秒100万个请求(QPS),相关系统架构设计详解
  • 海康SDK球机精确控制[球机预置点配置]
  • 未来之路 - eBPF 与 Cilium 如何重塑网络
  • 在kdb+x中使用SQL
  • 理解Spring中的IoC
  • 基于新型群智能优化算法的BP神经网络初始权值与偏置优化
  • WPF MVVM进阶系列教程(二、数据验证)
  • Elasticsearch-9.0.4安装教程
  • 【SpringAI实战】实现仿DeepSeek页面对话机器人(支持多模态上传)
  • MySQL-Every derived table must have its own alias
  • OpenRLHF:面向超大语言模型的高性能RLHF训练框架
  • 基于 Nginx 与未来之窗防火墙构建下一代自建动态网络防护体系​—仙盟创梦IDE
  • Java-82 深入浅出 MySQL 内部架构:服务层、存储引擎与文件系统全覆盖
  • 秋招Day19 - 分布式 - 分布式锁
  • 静默的环保革命:Deepoc具身智能如何让垃圾桶读懂垃圾的语言
  • 一道检验编码能力的字符串的题目
  • 进程控制->进程替换(Linux)
  • LLM:Day3
  • 学习嵌入式的第二十九天-数据结构-(2025.7.16)线程控制:互斥与同步
  • 【运维】ubuntu 安装图形化界面
  • 顺应AI浪潮,电科金仓数据库再创辉煌
  • 继承接口实现websocke,实现任意路径链接
  • 可以修改公网ip吗
  • X-plore File Manager v4.34.02 修改版:安卓设备上的全能文件管理器
  • 海云安斩获“智能金融创新应用“标杆案例 彰显AI安全左移技术创新实力
  • 快速入门Socket编程——封装一套便捷的Socket编程——Reactor
  • 【AMD平台】编译llama.cpp
  • 【问题集】——RAG项目实战:LangChain 0.3集成 Milvus 2.5向量数据库,构建大模型智能应用
  • GTSuite许可与网络安全