zoukankan      html  css  js  c++  java
  • 百分百加载动画



    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    </head>
    <body>
    <canvas id="canvas" width="500" height="500">
    您的浏览器不支持canvas
    </canvas>
    <script>
    window.onload = function () {
    var canvas = document.getElementById('canvas'),
    context = canvas.getContext('2d'),
    cirX = canvas.width/ 2,
    cirY = canvas.height/ 2,
    rad = Math.PI * 2 /100,
    n = 1,
    speed = 150,
    r = 100;
    //绘制最外层细圈
    function writeCircle(){
    context.save();
    context.beginPath();
    context.strokeStyle = 'skyblue';
    context.arc(cirX,cirY,r,0,Math.PI * 2,false);
    context.stroke();
    context.restore();
    }
    //绘制文本
    function writeText(n){
    context.save();
    context.strokeStyle = 'skyblue';
    context.font = '40px Arial';
    context.strokeText(n.toFixed(0)+'%',cirX-30,cirY+10);
    context.stroke();
    context.restore();
    }
    //绘制蓝色外圈
    function writeBlue(n){
    context.save();
    context.strokeStyle = 'skyblue';
    context.lineWidth = 4;
    context.beginPath();
    context.arc(cirX,cirY,r,-Math.PI/2,-Math.PI/2+rad*n,false);
    context.stroke();
    context.restore();
    }

    function DreamLoading(){
    //清除所有,重新绘制
    context.clearRect(0,0,canvas.width,canvas.height);
    writeCircle();
    writeText(n);
    writeBlue(n);
    if(n < 100){
    n = n + 0.1;
    }else{
    n = 0;
    }
    requestAnimationFrame(DreamLoading);
    }
    DreamLoading();
    }

    </script>
    </body>
    </html>
  • 相关阅读:
    python ddt数据驱动框架
    yarn的安装和使用【转】
    辅助色选取思路
    echarts y轴起始坐标值设置
    mapbox 图层视角设置
    vue-cli2使用store存储全局变量
    vue 数组不响应解决办法
    echarts之dataZoom配置项【转】
    Vue中使用地图平台MapboxGL【转载】
    快速入门MapboxGL【转载】
  • 原文地址:https://www.cnblogs.com/xzq1992/p/6322984.html
Copyright © 2011-2022 走看看