• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > 分享h5 canvas圆圈进度条的实例代码

分享h5 canvas圆圈进度条的实例代码

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含h5 ,canvas,圆圈进度条等相关知识,匿名希望在学习及工作中可以帮助到您
实现h5 canvas圆圈进度条的实例代码,本人的想法有很多,但是利用canvas无疑是最方便的解决办法,在此以canvas实现为例子,具体实现步骤如下:


Paste_Image.png

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
    <title></title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
    </style>
    <!-- <script type="text/javascript" src="js/Progress.js"></script> -->
</head>
<body>
    <canvas id="canvas1"></canvas>
    <canvas id="canvas2"></canvas>
    <canvas id="canvas3"></canvas>

    <canvas id="canvas8"></canvas>
    <canvas id="canvas9"></canvas>
    <canvas id="canvas10"></canvas>

    <script type="text/javascript">
    window.onload = function(){
        new Progress().renderOne('canvas1',100,6,10);//id,画布宽和高,圆的半径 百分百。
        new Progress().renderOne('canvas2',100,5,20);
        new Progress().renderOne('canvas3',100,5,30);

        new Progress().renderOne('canvas8',100,5,80);
        new Progress().renderOne('canvas9',100,5,90);
        new Progress().renderOne('canvas10',100,5,100);
    }
    function Progress() {
    var progress = { textheight: null, renderOne: function(id, length, r, percent) {
            var canvas = document.getElementById(id);
            var context = canvas.getContext("2d");
            canvas.width = length;
            canvas.height = length;
            var i = 0;
            var interval = setInterval(function() { i++;
                progress.render(context, length, r, i, percent);
                if (i >= percent) { clearInterval(interval) } }, 10) }, render: function(context, length, r, i, percent) { context.clearRect(0, 0, length, length);
            context.beginPath();
            var gradient = context.createLinearGradient(length, 0, 0, 0);
            gradient.addColorStop("0", "#76EEC6");
            gradient.addColorStop("1.0", "#63B8FF");
            context.strokeStyle = gradient;
            context.lineWidth = r;
            context.arc(length / 2, length / 2, length / 2 - r, -0.5 * Math.PI, -0.5 * Math.PI + i * 0.02 * Math.PI, false);
            context.stroke();
            context.closePath();
            context.beginPath();
            context.strokeStyle = "#8d8d8d";
             context.strokeStyle ='red';/////////////////////////////////////////////////
            context.lineWidth = 2;
            context.fillStyle = "#ffffff";
            context.arc(length / 2, r, 0.6 * r, 0, 2 * Math.PI, false);
            context.stroke();
            context.fill();
            context.closePath();
            context.beginPath();
            var radian = percent / 100 * 2 * Math.PI - 0.5 * Math.PI;
            var x = Math.cos(radian) * (length / 2 - r) + length / 2;
            var y = Math.sin(radian) * (length / 2 - r) + length / 2;
            context.arc(x, y, 0.6 * r, 0, 2 * Math.PI, false);
            context.stroke();
            context.fill();
            context.closePath();
            context.beginPath();
            context.lineWidth = 1;
            context.strokeStyle = "#54DDAF";
            context.fillStyle = "#54DDAF";
             context.fillStyle = "blue";///////////////////////////////////////
            context.arc(length / 2, length / 2, length / 2 - 2 * r, 0, 2 * Math.PI);
            context.fill();
            context.closePath();
            context.beginPath();
            context.font = "bold " + (length / 2 - 2.5 * r) / 2 + "px 微软雅黑";
            context.fillStyle = "#ffffff";
            var text = percent + "%";
            textwidth = context.measureText(text).width;
            if (this.textheight == null) {
                var p = document.createElement("p");
                document.body.appendChild(p);
                p.innerHTML = text;
                p.style.fontSize = ((length / 2 - 2.5 * r) / 2) + "px";
                this.textheight = p.offsetHeight;
                p.parentNode.removeChild(p) }
            textheight = this.textheight;
            context.fillText(text, (length - textwidth) / 2, length / 2 + textheight / 4);
            context.fill();
            context.closePath() } };
    return progress };



</script>
</body>
</html>

【相关推荐】

1. H5 canvas实现圆形动态加载进度实例

2. Canvas实现圆形进度条并显示数字百分比

3. HTML5 程序设计

4. 小程序开发之利用co处理异步流程的实例教程

5. js+canvas简单绘制圆圈的方法_javascript技巧

以上就是分享h5 canvas圆圈进度条的实例代码的详细内容,更多请关注微课江湖其它相关文章!

您可能想查找下面的文章:

  • H5实现Tab标签切换效果
  • 分享h5 canvas圆圈进度条的实例代码
  • H5 canvas实现圆形动态加载进度实例
  • H5 的复制操作实例代码
  • H5项目开发iOS插件功能的实例代码
  • h5输入框提示语 + 正常文本框提示语的实现方法
  • 手机端H5 header定义样式

相关文章

  • 2017-08-06详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
  • 2018-12-03HTML5实战与剖析之原生拖拽(四可拖动dragable属性和其他成员)
  • 2018-12-03一款带有发光动画的HTML5表单
  • 2018-12-03小强的HTML5移动开发之路(47)——jquery mobile基本的页面框架
  • 2017-08-06使用phonegap创建联系人的实现方法
  • 2018-12-03自定义HTML5 Progress的样式的图文代码详解
  • 2018-12-03html5各种页面切换效果和模态对话框用法总结_html5教程技巧
  • 2018-12-03为什么说「一入前端深似海」,入行需谨慎?
  • 2018-12-03HTML5实战与剖析之判断移动端横屏竖屏功能
  • 2018-12-03HTML5实现眼睛移动效果的示例

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • html5指南-6.如何创建离线web应用程序实现离线访问
    • html5如何使用canvas画空心圆与实心圆
    • 利用HTML5 从视频中捕获静止图像实例代码
    • 在HTML5中使用MathML数学公式的简单讲解_html5教程技巧
    • HTML5 Canvas中绘制矩形实例_html5教程技巧
    • 秀野堂html5入门视频教程的资源推荐
    • H5的学习之旅-H5的实体(14)
    • 利用html5 canvas破解简单验证码及getImageData接口应用_html5教程技巧
    • HTML5的学习之路
    • HTML5组件Canvas实现图像灰度化(步骤+实例效果)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有