我是新的javascript,我需要使圆圈进度,显示百分比与动画栏
幸运的是我已经做到了,但问题是我想做5个或更多的相同的圆圈与不同的百分比和我需要开始在页面加载,而不是通过点击所以如何调用函数对多个div,使圆圈出现在不同的百分比在同一时间
这是我的JS代码
let firstLayer = document.querySelector('.cardHolder'),
secondLayer = document.querySelector('.skillSecond'),
startValue = 0,
endValue = 50,
duration = 20;
let progress = setInterval(() => {
startValue++
secondLayer.textContent = `${startValue}%`
firstLayer.style.background = `conic-gradient(rgb(15, 176, 6) ${startValue * 3.6}deg, rgb(193, 193, 193) 0deg)`
if (startValue == endValue) {
clearInterval(progress)
}
}, duration);
.cardHolder {
display: flex;
justify-content: center;
align-items: center;
background: conic-gradient(rgb(15, 176, 6) 3.6deg, rgb(193, 193, 193) 0deg);
width: 100px;
height: 100px;
border-radius: 100%;
}
.skillFirst {
display: flex;
justify-content: center;
align-items: center;
background-color: #90697a;
width: 80%;
height: 80%;
border-radius: 100%;
}
.skillSecond {
font-family: 'Montserrat Subrayada', sans-serif;
font-size: 24px;
}
<div class="cardHolder">
<div class="skillFirst">
<div class="skillSecond">
<span class="skillContent"></span>
</div>
</div>
</div>
1条答案
按热度按时间gojuced71#
这是我想到的。基本上它的工作原理是创建一个包含每个进度条的规范的对象数组。然后循环这些规范并开始每个Interval。
希望这有帮助,如果没有,请评论!