<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
svg{
height: 100vw;
width: 100vh;
}
circle{
transform:rotate(-90deg);
transform-origin:500px 500px;
}
</style>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle
cx="500"
cy="500"
r="110"
fill="#efefef"
/>
<circle
id="progress"
cx="500"
cy="500"
r="100"
stroke="#3fd0af"
fill="#efefef"
stroke-width='20'
stroke-linecap="round"
stroke-dasharray="1,800"
/>
<circle
cx="500"
cy="500"
r="90"
fill="#fff"
/>
<text x="490" y="505" fill="red" id="precent">0%</text>
</svg>
<script>
let circle=document.getElementById('progress')
let text=document.getElementById('precent')
let r=circle.getAttribute('r')
let c=2*Math.PI*r
let len=0;
setInterval(function(){
len=len+1
if(len>c){
len=0
}
let percent=len/c*100;
text.innerHTML=percent.toFixed(0)+'%'
circle.setAttribute('stroke-dasharray',`${len},${c}`)
},20)
</script>
</body>
</html>
複製代碼