js
data: {
animationData: {}
},
onLoad: function (options) {
setTimeout(() => {
var animation = wx.createAnimation({
duration: 1500,
timingFunction: 'ease',
})
this.animation = animation
animation.rotate(180).step()
this.setData({
animationData:animation.export()
})
}, 1000);
},
在wxml
<view class="circle-wrap">
<view class="circle">
<view class="mask full">
<view class="fill"></view>
</view>
<view class="mask half">
<view class="fill" animation="{{animationData}}"></view>
</view>
<view class="inside-circle"> 70% </view>
</view>
</view>
在wxss
/*圆形css进度条*/
.circle-wrap {
margin: 50px auto;
width: 150px;
height: 150px;
background: #e6e2e7;
border-radius: 50%;
}
.circle-wrap .circle .mask,
.circle-wrap .circle .fill {
width: 150px;
height: 150px;
position: absolute;
border-radius: 50%;
}
.circle-wrap .circle .mask {
clip: rect(0px, 150px, 150px, 75px);
}
.circle-wrap .circle .mask .fill {
clip: rect(0px, 75px, 150px, 0px);
background-color: #9e00b1;
}
.circle-wrap .inside-circle {
width: 130px;
height: 130px;
border-radius: 50%;
background: #fff;
line-height: 130px;
text-align: center;
margin-top: 10px;
margin-left: 10px;
position: absolute;
z-index: 100;
font-weight: 700;
font-size: 2em;
}