<!DOCTYPE html>
<html>
<head>
<title>环形进度条</title>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
<style>
*{
margin: 0;
padding: 0;
}
#canvas{
border: 1px solid red;
}
</style>
</head>
<body>
<audio src="./jnl.mp3" id="audio" controls="controls"></audio>
<canvas id="canvas" width="400" height="400" ></canvas>
<script>
var canvas = document.getElementById('canvas')
var ctx = canvas.getContext('2d')
ctx.beginPath()
ctx.arc(200,200,100,-0.5*Math.PI,1.5*Math.PI);
ctx.strokeStyle = '#EEE'
ctx.stroke();
var audio = document.getElementById('audio')
function drawCavans(percent){
console.log(percent)
if(percent == 0){
ctx.clearRect(0, 0, 400,400 )
ctx.beginPath()
ctx.arc(200,200,100,-0.5*Math.PI,1.5*Math.PI);
ctx.strokeStyle = '#EEE'
ctx.stroke();
}
ctx.beginPath()
ctx.arc(200,200,100,-0.5*Math.PI,percent*2*Math.PI-0.5*Math.PI);
ctx.strokeStyle = 'red'
ctx.stroke();
}
audio.addEventListener('timeupdate',function(){
if (!isNaN(audio.duration)) {
var percent = audio.currentTime/audio.duration; //用时间比来获取进度条的值
}
drawCavans(percent)
})
</script>
</body>
</html>
canvas简单实现环形进度条
猜你喜欢
转载自blog.csdn.net/csdnlizhiyong/article/details/81412185
今日推荐
周排行