iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何利用canvas实现环形进度条
  • 143
分享到

如何利用canvas实现环形进度条

2023-06-09 21:06:42 143人浏览 八月长安
摘要

这篇文章给大家分享的是有关如何利用canvas实现环形进度条的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前提:有时候在项目中会有用到进度条的情况,使用css3也可以实现,但是对于性能不好的设备,或者网络不好的情

这篇文章给大家分享的是有关如何利用canvas实现环形进度条的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

前提:有时候在项目中会有用到进度条的情况,使用css3也可以实现,但是对于性能不好的设备,或者网络不好的情况下,卡顿现象非常明显,避免出现不流畅的尴尬情况,所以记录一下,使用canvas来实现的方法。

效果图

如何利用canvas实现环形进度条

DOM中,首先定义canvas画板元素:

<canvas id="canvas" width="500" height="500" style="background:#F7F7F7;">    <p>you browser not support canvas!</p>  </canvas>

对于不支持canvas的浏览器则会显示:you browser not support canvas!

接下来是js编写:

定义canvas.js并在页面引入

var canvas = document.getElementById('canvas'), //获取canvas元素  context = canvas.getContext('2d'), //获取画图环境,指明为2d  centerX = canvas.width / 2, //Canvas中心点x轴坐标  centerY = canvas.height / 2, //Canvas中心点y轴坐标  rad = Math.PI * 2 / 100, //将360度分成100份,那么每一份就是rad度  speed = 0.1; //加载的快慢就靠它了//绘制蓝色外圈function blueCircle(n) {  context.save();  context.beginPath();  context.strokeStyle = "#49f";  context.lineWidth = 12;  context.arc(centerX, centerY, 100, -Math.PI / 2, -Math.PI / 2 + n * rad, false);  context.stroke();  context.restore();}//绘制白色外圈function whiteCircle() {  context.save();  context.beginPath();  context.strokeStyle = "#A5DEF1";  context.lineWidth = 12;  context.arc(centerX, centerY, 100, 0, Math.PI * 2, false);  context.stroke();  context.closePath();  context.restore();}//百分比文字绘制function text(n) {  context.save();  context.fillStyle = "#F47C7C";  context.font = "40px Arial";  context.textAlign = "center";  context.textBaseline = "middle";  context.fillText(n.toFixed(0) + "%", centerX, centerY);  context.restore();}//动画循环(function drawFrame() {  window.requestAnimationFrame(drawFrame, canvas);  context.clearRect(0, 0, canvas.width, canvas.height);  whiteCircle();  text(speed);  blueCircle(speed);  if (speed > 100) speed = 0;  speed += 0.1;}());window.requestAnimationFrame(drawFrame, canvas);

每行代码的注释标注非常清楚,如果还有不理解的可以去看canvas基础,应该就可以了。

感谢各位的阅读!关于“如何利用canvas实现环形进度条”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 如何利用canvas实现环形进度条

本文链接: https://www.lsjlt.com/news/257843.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何利用canvas实现环形进度条
    这篇文章给大家分享的是有关如何利用canvas实现环形进度条的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前提:有时候在项目中会有用到进度条的情况,使用css3也可以实现,但是对于性能不好的设备,或者网络不好的情...
    99+
    2023-06-09
  • JavaScript实现可动的canvas环形进度条
    目录介绍1.创建canvas元素2.绘制的准备工作3.绘制环形底层4.绘制进度层5.绘制字体并指定位置6.进度动画介绍 今天分享一个环形进度条的写法,当然这只是一个可动的静态进度条,...
    99+
    2024-04-02
  • canvas如何实现有递增动画的环形进度条
    这篇文章将为大家详细讲解有关canvas如何实现有递增动画的环形进度条,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果如下:高清大图! 码农多年,老眼昏花,动图看不清?!那就看静态截图!!!不...
    99+
    2023-06-09
  • css如何实现环形循环进度条
    本篇内容主要讲解“css如何实现环形循环进度条”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css如何实现环形循环进度条”吧!css实现环形循环进度条的方法:1、创建一个最外层的父级圆环;2、通...
    99+
    2023-07-05
  • JavaScript怎么实现可动的canvas环形进度条
    这篇文章主要介绍“JavaScript怎么实现可动的canvas环形进度条”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript怎么实现可动的canvas环形进度条”文章能帮助大家解决问...
    99+
    2023-06-29
  • 详解JavaScript+Canvas绘制环形进度条
    目录效果图思考实现思路具体代码实现效果图 思考 移动端的场景里经常会出现环形进度条的功能,在实现这个功能前,我预想的解决方案大致有: echarts、antv、canvas、svg...
    99+
    2024-04-02
  • JavaScriptcanvas实现环形渐变进度条
    最近有个需求要做环形渐变色进度条,去网上找了半天没找到合适的,大多数渐变色都是径向渐变,所以自己用canvas写了个环形渐变的图: 这个渐变其实就是把圆环分成许多小块分别绘制的,所...
    99+
    2024-04-02
  • 微信小程序用canvas实现圆形进度条
    本文实例为大家分享了微信小程序用canvas实现圆形进度条的具体代码,供大家参考,具体内容如下 先放效果图,如下: 1. wxml文件代码如下 对于圆形进度条中间的文字,如果是简单...
    99+
    2024-04-02
  • css怎么实现环形循环进度条
    本教程操作环境:Windows10系统、CSS3版、DELL G3电脑css怎么实现环形循环进度条?CSS实现圆环进度条一、静态进度条首先,我们先看一个静态进度条第一步当然是先实现一个最外层的父级圆环。其次是通过 clip-path画出两个...
    99+
    2023-05-14
    进度条 css
  • 如何利用CSS3实现进度条
    这篇文章主要介绍了如何利用CSS3实现进度条,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。效果图如下:  第一种姿势如下...
    99+
    2024-04-02
  • android如何实现圆形进度条
    要实现圆形进度条,可以使用Android的自定义控件来实现。首先,在layout文件中定义一个圆形进度条的布局,例如circle_p...
    99+
    2023-08-20
    android
  • 如何使用CSS实现圆形进度条
    这篇文章主要介绍了如何使用CSS实现圆形进度条,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。   首先一个父级div设置相对定位,内部含有...
    99+
    2024-04-02
  • 使用canvas怎么实现一个圆形进度条动画
    这期内容当中小编将会给大家带来有关使用canvas怎么实现一个圆形进度条动画,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. canvas的HTML部分很简单就一个canvas标签canvas画布的宽高...
    99+
    2023-06-09
  • MFC圆形进度条(ProgressContrl)如何实现
    要实现MFC圆形进度条,可以按照以下步骤进行:1. 创建一个MFC对话框应用程序。2. 在对话框中添加一个Progress Cont...
    99+
    2023-08-19
    MFC
  • 微信小程序实现环形进度条
    本文实例为大家分享了微信小程序实现环形进度条的具体代码,供大家参考,具体内容如下 index.wxss .circle {   position: absolute;   left:...
    99+
    2024-04-02
  • 微信小程序怎么实现环形进度条
    本篇内容主要讲解“微信小程序怎么实现环形进度条”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序怎么实现环形进度条”吧!index.wxss.circle { &nbs...
    99+
    2023-07-02
  • Android项目中使用Progress实现一个环形进度条
    这期内容当中小编将会给大家带来有关Android项目中使用Progress实现一个环形进度条,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。效果图:代码实现:设置已完成步数和目标步数: public vo...
    99+
    2023-05-31
    android gr progress
  • Android View实现圆形进度条
    本文实例为大家分享了Android View实现圆形进度条的具体代码,供大家参考,具体内容如下 主要涉及到下面几个方法: // 画圆 canvas.drawCircle // 画...
    99+
    2024-04-02
  • 如何利用CSS实现波浪进度条效果
    本篇内容介绍了“如何利用CSS实现波浪进度条效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!CSS Painting API再简单快速的过...
    99+
    2023-07-04
  • js如何实现增加数字显示的环形进度条效果
    这篇文章将为大家详细讲解有关js如何实现增加数字显示的环形进度条效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果如下:代码如下:<!DOCTYPE ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作