小程序动画-图形旋转进度条

[Uni-app] 微信小程序动态圆环进度条的实现与优化 本文详细讲解了在Uni-app框架中为微信小程序实现动态圆环进度条的核心原理与优化方案。通过剖析纯CSS实现方案,利用两个半圆旋转拼接的巧妙逻辑,提供了高性能、可定制且动画流畅的组件代码。文章还深入探讨了动画性能优化、样式兼容性处理以及添加渐变色彩与中心文本等扩展功能,并分享了多场景下的实战应用与避坑指南。 阅读详情

实现效果(还是有很多不完善,如果你是需要多个你可以复制然后改个名字就可以重负使用了,当然你也可以弄成组件来高可用):

index.wxml

<view class='content'>
  <image class='img' animation="{{animationData}}" src='{{statusImage}}'></image>
  <view class='row {{statusClass}}'></view>
</view>

index.wxss

.content {
  margin-left: 5%;
  margin-top: 50%;
}
.img {
  width: 30px;
  height: 30px;
}
.row {
  display: inline-block;
  width: 70%;
  height: 30px;
  margin-left: 10px;
  border-radius: 10px;
}
/* 加载 */
.load {
   background-color: #7B7878;
}
/* 失败 */
.failing {
  background-color: #E51C23;
}
/* 成功 */
.success {
  background-color: #7FCA27;
}

index.js

data 变量是根据你的业务来做处理的,这个随机应变。

Page({

  /**
   * 页面的初始数据
   */
  data: {
    rotateIndex: '',
    animationData: {},
    statusImage: '/resource/images/1/line_loading.png',
    statusClass: 'load'
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
  
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    // 创建动画
    var animation = wx.createAnimation({
      duration: 200,
      timingFunction: 'ease'
    })
    this.animation = animation
    // 图片旋转
    this.imageRotators()
  },
  // 图片一直旋转动画
  imageRotators: function () {
    //连续动画需要添加定时器,所传参数每次+1就行
    this.timeInterval = setInterval(function () {
      this.data.rotateIndex = this.data.rotateIndex + 1;
      this.animation.rotateZ(360 * (this.data.rotateIndex)).step()
      this.setData({
        animationData: this.animation.export()
      })
    }.bind(this), 500)
    // 请求API接口或者别的操作
    this.request()
  },
  // 停止旋转
  stopRotators: function () {
    if (this.timeInterval > 0) {
      clearInterval(this.timeInterval)
      this.timeInterval = 0
    }
  },
  // 请求API接口或者别的操作
  request: function(e) {
    var that = this
    console.log('request')
    setTimeout(function () {
      // 停止旋转
      that.stopRotators()
      console.log('请求到了数据或者操作完成,停止旋转')
      // 这里是根据自己的业务逻辑设置
      var data =  true
      if (data) {
        that.setData({
          statusImage: '/resource/images/1/line_success.png',
          statusClass: 'success'
        })
      } else {
        that.setData({
          statusImage: '/resource/images/1/line_fail.png',
          statusClass: 'failing'
        })
      }
    }, 3000)
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
  
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
  
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
  
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
  
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
  
  }
})

MATLAB GUI图像旋转工具开发:从原理到实践 图像旋转是数字图像处理中的基础几何变换,其核心原理是通过旋转矩阵对像素坐标进行重映射。由于计算出的新坐标常为非整数,因此需要插值算法来确定像素值,常用的方法包括最近邻插值、双线性插值和双三次插值,它们在速度与质量间各有权衡。在工程实践中,利用MATLAB的Image Processing Toolbox可以高效实现这些算法,例如通过`imrotate`函数。本文聚焦于如何基于MATLAB App Designer快速开发一个图形用户界面(GUI)工具,该工具集成了图像旋转功能,并支持实时预览和批量处理,极大 阅读详情

相关推荐

VSCode+Typst零配置写作指南:5分钟搞定论文排版环境(含实时预览技巧)

本文介绍如何利用VSCode和Typst快速搭建零配置的论文排版环境,5分钟内实现高效写作与实时预览。Typst作为轻量级排版工具,结合LaTeX的精度与现代化语法,显著提升学术写作效率,特别适合需要频繁调整格式的研究人员。

weixin_30642561的博客 109

微信小程序:实现节点进度条的效果;正在完成的节点有动态循环效果;横向,纵向排列

微信小程序:实现节点进度条的效果,正在完成的节点有动态循环效果

weixin_46001736的博客 1207

东方财富API隐藏技巧:这样获取分时均价线数据更稳定(避坑指南)

本文深入解析东方财富API获取股票分时数据,特别是分时均价线的实战技巧与避坑指南。针对高频调用中常见的请求失败、数据错位及IP限制等问题,提供了从接口参数深层解析、稳健请求与错误处理机制,到系统优化与数据校验的全流程解决方案,帮助开发者构建稳定可靠的数据采集系统。

rice5的博客 2523

微信小程序动态进度条

js const app = getApp() Page({ data: { deflautWidth:10, timer:"" }, onLoad: function () { let that = this; this.data.timer=setInterval(() => { //注意箭头函数!! that.data.defl...

weixin_43876684的博客 3144

QT+SOEM主站协议库实战指南—从编译到嵌入式应用

本文提供了一份QT与SOEM开源EtherCAT主站协议库的集成实战指南。详细介绍了在Windows和Linux平台下编译SOEM库的步骤,并讲解了如何将其无缝集成到QT项目中,构建具备实时监控与控制功能的工业上位机应用。内容涵盖从环境搭建、核心协议开发到嵌入式部署与优化的全流程,为开发高性价比、自主可控的工业控制解决方案提供完整路径。

u6v7w8x的博客 437

LCD、LED、OLED、Mini LED、Micro LED、全阵列LED、QLED、QD-OLED、QNED、AMOLED是什么意思?

LCD(液晶显示器,Liquid Crystal Display)定义:LCD 是一种利用液晶材料控制光线通过的显示技术,需依靠背光源(如冷阴极荧光灯 CCFL 或 LED)照亮液晶层以形成图像。技术原理:液晶分子在电场作用下改变排列,控制背光通过的强度和颜色。液晶本身不发光,需外部光源。特点:结构包括背光层、液晶层、彩色滤光片和偏光片。响应时间较慢,黑色表现因背光漏光而偏灰。LED(发光二极管显示,Light Emitting Diode)定义。

中国最威武的城市!武功军威-武威,铁骨铮铮! 3424

微信小程序 实现进度条效果

微信小程序中的原生进度条组件(Progress)只能显示一种进度状态,但有时我们需要展示多种状态,比如预算已使用与本次申请的进度。为了实现这一功能,我采用了 canvas 来绘制多种状态的进度条。记录下小程序原生组件 Progress 的单状态使用,以及通过 canvas 实现多状态进度条的方法。

weixin_71403100的博客 5509

用Codex自动化挖掘电梯行业外贸客户:从关键词到22维深度分析

在B2B外贸客户开发中,精准定位垂直行业潜在客户是核心挑战。传统手动搜索效率低下,而数据驱动的工作流正成为解决方案。其原理在于将模糊的业务需求转化为机器可识别的结构化查询,通过组合行业核心关键词(如“Elevator Manufacturer”、“Elevator Maintenance”)与商业角色描述,系统性地从海量数据中筛选目标。这种自动化抓取技术的价值在于,它不仅生成客户名单,更通过多维数据分析(如公司规模、业务标签、数字足迹)构建初步的客户画像,为后续的优先级排序和个性化触达提供情报基础。在工业制

weixin_34054866的博客 454

微信小程序实现加载进度条

1.实现效果 2.实现原理 2.1第一个线条加载,设置translate3d属性,动态的改变百分比,实现加载。 translate3d() CSS 函数在3D空间内移动一个元素的位置。这个移动由一个三维向量来表达,分别表示他在三个方向上移动的距离。 translate3d(tx, ty, tz) tx是一个 代表移动向量的横坐标。 ty是一个 代表移动向量的纵坐标。 tz是一个 代表移动向量的z坐标。它不能是 值;那样的移动是没有意义的。 transform: translate3d(-{{10

苏苏就是小苏苏的博客 4412

Cesium实战:从DEM数据到3D地形可视化的全流程解析

本文详细解析了从DEM数据到3D地形可视化的全流程,重点介绍了Cesium和Cesiumlab在数字高程模型(DEM)处理与地形数据转换中的应用。通过实战案例和工具对比,帮助开发者高效实现地形可视化,并分享性能优化与高级功能开发经验。

weixin_29079743的博客 336

SpringBoot整合JWT实战:从零构建无状态认证系统,详解Token生成、验证与安全最佳实践

JWT在SpringBoot中的实现与应用 摘要:本文介绍了JWT(JSON Web Token)的基本概念、与Session机制的对比,以及SpringBoot项目中JWT的整合实现。JWT由Header、Payload和Signature三部分组成,具有无状态、跨域支持等优势。文章详细展示了如何在SpringBoot项目中配置JWT环境,封装JWT工具类来实现Token的生成、解析和验证功能,包括密钥管理、自定义声明、签名验证等核心操作。通过对比表格和生活化比喻,帮助读者理解JWT与传统Session的

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1775

微信小程序把玩(四十)animation API

动画水还是比较深的,这里只是简单介绍下小程序中动画的一些属性和注意事项,做动画前一定要整理好思路将动画一步步分解,再进行组合!这里只做引入。wx.createAnimation(object) 看官方介绍1.创建一个动画实例animation。调用实例的方法来描述动画。最后通过动画实例的export方法导出动画数据传递给组件的animation属性。 2.调用动画操作方法后要调用 step() 来表

FUCK 6万+

基于ESP32的智能健康监测系统开发

本文介绍了如何基于ESP32开发智能健康监测系统,从硬件选型、系统架构到软件实现的每一个环节。通过ESP32的Wi-Fi功能、传感器模块和云平台的结合,我们实现了实时健康数据监测、远程查看、报警等功能。系统的低功耗特性使得其适用于长期健康监测,能够为用户提供更便捷的健康管理方案。随着技术的不断发展,未来智能健康监测系统将进一步发展。例如,增加更多的传感器,提升数据分析能力,甚至通过人工智能算法来预测用户的健康趋势,为用户提供个性化的健康建议。

2201_76125393的博客 1104

【Linux】手把手带你写出进度条小程序

手把手带你写出进度条小程序

2501_90265152的博客 1865

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Uni-app实战:微信小程序圆环进度条组件开发全流程(附完整代码)

本文详细介绍了在Uni-app框架下,从零开发高定制化微信小程序圆环进度条组件的完整流程。通过对比Canvas方案,深入解析了纯CSS绘制圆环的核心原理与层叠模型,并提供了完整的、带平滑动画的可复用组件代码。文章重点分享了在微信小程序环境中的样式兼容性处理、性能优化技巧及真机调试避坑指南,帮助开发者高效构建流畅、多端一致的进度展示组件。

sky77的博客 675

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【Linux】编写一个简单进度条小程序

进度条小程序

fufufu_的博客 434

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

uni-app中自定义图表(canvas实现chart图表)开发篇(5)-圆环进度条添加动画效果

这里增加一篇介绍下进度条动画效果如何添加,前几篇的进度值被修改后,切换效果比较生硬。另外也在第四篇基础上,对图形略作修改。在查看uniapp文档时,没有发现重绘执行函数,小程序中有Canvas.requestAnimationFrame;所以在uniapp这里,我们使用setInterval来实现,完成后运行也很流畅。 添加动画后效果如下图: 一、创建对应页面 1.1 创建charts.js文件 /** * 图表 - 圆环进度条添加动画效果 */ export class CircleBo

觉醒法师的专栏 4125

【Linux】第一个Linux小程序——进度条

今天为大家带来的是一篇关于在Linux上编写的进度条小程序的博客,主要关于C语言缓冲区和LInux上一些工具的使用。

MO_lion的博客 862

个人项目总结:微信小程序记事本小程序的开发

在2023年,我开始尝试微信小程序的开发,包括在2023年上半年开发的饮品点餐小程序和记事本小程序,2023-2024开发的单词打卡小程序等。由于当时写的博客水平比较低,所以打算用这几天考研后的时间重写一下。其中我认为点餐小程序和记事本小程序是其中最具有代表性的项目,所以会重点记录一下这两个项目的核心内容。

Brqbyq的博客 352

可线性渐变的环形进度条的实现探究

本文主要介绍基于 NutUI Vue3 的 `circleProgress` 组件的设计与实现原理,是一个圆环形的进度条组件,用来展示操作的当前进度,支持修改进度以及渐变色。环形进度条是很常用的一个组件,特别是在管理后台数据统计的页面上或是一些需要用户等待的任务。...

m0_63247283的博客 1355

图解CSS3制作圆环形进度条的实例教程

圆环形进度条制作的基本思想还是画出基本的弧线图形,然后CSS3中我们可以控制其旋转来串联基本图形,制造出部分消失的效果,下面就来带大家学习图解CSS3制作圆环形进度条的实例教程  首先,当有人说你能不能做一个圆形进度条效果出来时,如果是静态完整圆形进度条,那么就很简单了: .circleprogress{ width: 160px; height: 160px...

哈哈hyc的博客 541

loading动图_这么有趣的Loading动图设计,我愿意等

渐渐地,设计师们开始不满足于一些简单的进度条和旋转Loading,到如今,越来越多的设计师更加关注app、小程序和H5的 loading动图设计。所以,我们常能发现一些关于loading教程,免费的Loading设计资源,插件和开源项目等等。分享一组关于Loading的创意动图,给等待加点趣味、添点情感。上面2张这么可爱有趣的创意loading动图,是不是很有意思,你愿意多停顿一会吗?一...

weixin_33332712的博客 3570

Uni-app实战:微信小程序圆环进度条组件开发全攻略(附完整代码)

本文详细解析了在Uni-app中为微信小程序开发高定制化圆环进度条组件的全过程。通过对比CSS与Canvas方案,选择了性能更优、开发更简单的纯CSS实现,并深入剖析了五层视图的组件结构、核心代码实现与参数化设计。文章提供了完整的代码示例、动态交互案例以及避坑指南,帮助开发者快速集成或深入理解其原理,轻松应对数据展示、加载指示等场景。

weixin_29006701的博客 154

别再重复造轮子了!200+小程序案例,解决你80%+的开发问题

微信小程序开发案例库"fengGer的bug"提供了200+实用示例,覆盖小程序开发的常见场景。项目包含八大核心模块:经典动效、基础功能、交互设计、CSS特效、工具类、节日特效、API演示和实用业务场景。采用分包加载优化性能,组件化开发便于复用,封装常用工具函数提升效率。该项目既适合初学者快速上手,也帮助进阶开发者学习性能优化和架构设计,可作为团队开发的参考规范。案例代码可直接参考使用,有效避免重复造轮子,提升开发效率。

前端全栈干货分享|小程序|Vue3|CSS 动效|工程化|项目实战 1181

Linux终端动态效果实现:ANSI转义序列与进度条编程实践

在Linux系统编程中,终端交互是基础且重要的技术领域。其核心原理在于理解终端作为字符设备的工作方式,以及ANSI转义序列如何控制光标位置、颜色和样式。这项技术的工程价值在于,能在无图形界面的命令行环境中提供直观的状态反馈,极大提升命令行工具的用户体验。典型的应用场景包括长时间运行的后台脚本、软件安装程序、文件传输工具等需要进度指示的场合。本文通过实现终端倒计时器、旋转指针和进度条三个经典案例,深入讲解了如何利用printf、转义字符和usleep等基础函数,结合fflush刷新缓冲区和信号处理机制,打造健

weixin_34235457的博客 373

git简单介绍,回车换行问题,倒计时+进度条小程序的实现+代码

git简单介绍,回车换行问题,倒计时+进度条小程序的实现+代码

m0_74206992的博客 307
上一篇: 小程序动画-图片一直旋转
下一篇: 安装好nuxt.js运行npm run dev 报错
An_s
博客等级 码龄10年 665粉丝 363原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

An_s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值