<!DOCTYPE HTML> <html lang="zh-cmn-Hans"> <head> <meta charset="UTF-8"> <title>等待载入</title> </head> <body> <canvas id="wait" height="100" width="100">你的浏览器不支持canvas</canvas> <script> var wait = document.getElementById('wait').getContext('2d'); wait.fillRect(0,0,100,100); //translate() 方法重新映射画布上的 (0,0) 位置,canvas绘图是基于状态的 wait.translate(50,50); //每次旋转角度 var angle = Math.PI*2/12; var cos = Math.cos(angle); var sin = Math.sin(angle); wait.lineWidth = 4 ; wait.lineCap = 'round' ; var c = 0; setInterval(rotate,25); function rotate(){ var col = Math.floor(200/6*(c%13)); c++; //任何一个html元素渲染完成后可以得到一张位图,把这张位图上所有的点都做一次矩阵运算,将得到一张的新的位图 //一个数学公式,每次旋转30度 wait.transform(cos,sin,-sin,cos,0,0); wait.strokeStyle = 'rgba(0,0,'+col+',1)'; wait.beginPath(); wait.moveTo(10,0); wait.lineTo(40,0); wait.stroke(); } </script> </body> </html>
效果: