微信小程序自定义封装环形进度条组件

我们先看效果-选不了视频没办法了

说明:此组件对圆的宽度,进度条的宽度、颜色、旋转方向,还有进度条的值,还有两端是否要圆角都进行了动态化,无坑可放心用,参数解释在注释里,我就不写了 。效果图看到尾部的小圆点位置不太对,但是在真机模式下看就是正常的

 一、子组件-先写html

<view class="progress">

  <view class="circle" style="width:{
  {progressBar.size}};height:{
  {progressBar.size}};background: conic-gradient({
  {progressBar.progressColor}} 0, {
  {progress}}%, {
  {progressBar.progressBackgroundColor}} 0%);transform:rotateY({
  {progressBar.direction == 'cw' ? '0deg' : '180deg'}});">

    <view class="start-dot" wx:if="{
  {progressBar.num>0}}" style="width:{
  {dotSize}};height:{
  {dotSize}};background-color: {
  {progressBar.progressColor}};opacity: {
  {progressBar.endDot&&progressBar.startDot&&progressBar.num>0?1:0}};"></view>

    <view class="background" style="background-color: {
  {progressBar.backgroundColor}}; width:{
  {backgroundSize}}; height:{
  {backgroundSize}}">

      <view class="end-dot" style="background-color: {
  {progressBar.progressColor}};width:{
  {dotSize}};height:{
  {dotSize}};opacity: {
  {progressBar.endDotShow&&progressBar.endDot&&progressBar.num>0?1:0}} ;transform-origin: calc(100% + {
  {dotOrigin}});transform: translateX(-100%) translateY(-50%) rotate({
  {dotEeg}}deg);"></view>
    </view>
  </view>
  <text wx:if="{
  {progressText.show}}" style="{
  { progressText.style }}" class="text">{
  { progressText.text }}%</text>
</view>

二、子组件-js--这是我朋友写的,很多地方我不理解就加了注释,提供一下transform-origin的学习和圆运动的参考链接

1.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值