发布网友 发布时间:2022-11-25 16:55
共1个回答
热心网友 时间:2023-10-09 14:06
CircleProgress.vue
2.都给他们加上背景色,为进度条的颜色。
3.每一块里都加上遮挡层,遮挡层颜色与背景色相同,设定样式以背景圆的圆心为旋转点。
4.给每一块的modal都加上 v-if 属性,只有当比例小于这一块才显示modal层。
例如:进度(rate)为0.25,第一块modal不显示(不满足rate小于0.25),第二块modal显示(rate < 0.5),
第三块modal显示(rate < 0.75),第四块modal显示(rate < 1);
5.加上动态样式
① 顺时针第一块,右上角那块(范围应该为0~0.25):
② 顺时针第二块,右下角那块(范围应该为0.25~0.5):
③ 顺时针第三块,左下角那块(范围应该为0.5~0.75):
④ 顺时针第四块,左上角那块(范围应该为0.75~1):
所以可以将上述四个显示的modal层旋转的角度的计算方式写成一个函数,根据是第几块和当前的进度比例(this.rate)来得到角度:
6.说好的圆环形进度条呢?怎么变成圆饼啦?在content里加上圆,挡住中心部分
像这样调用即可:
https://github.com/LiaPig/vue-circle-progress