js+HTML5 canvas 实现简单的加载条(进度条)功能示例


Posted in Javascript onJuly 16, 2019

本文实例讲述了js+HTML5 canvas 实现简单的加载条(进度条)功能。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8">
    <title>3water.com canvas实现加载条动画</title>
  </head>
  <body>
    <canvas id="loadingProgressCanvas"></canvas>
    <script>
      /*
       * 获取canvas, canvas本身没有画图能力,相当于一个画布,提供绘制图形的地方
       * document.getElementsByTagName("canvas")[0]
       * document.querySelector("canvas")/document.querySelector("#loadingProgressCanvas")
       * document.querySelectorAll("canvas")[0]
       */
      var loadingProgressCanvas = document.getElementById("loadingProgressCanvas");
      var ctx = loadingProgressCanvas.getContext("2d"); // 获取绘制图形的对象(画笔)
      drawFirst(); // 绘制初始状态
      var progress = 0; // 定义进度
      drawProgress(); // 绘制初始进度
      // 定义定时器, 100ms钟绘制5%
      var timer = setInterval("drawProgress()", 100);
      // 绘制初始状态
      function drawFirst() {
        ctx.fillStyle="#0000ff"; // 定义画笔颜色, 重新绘制已经加载的进度条
        /*
         * 定义矩形(左上角x/y左边,宽高)
         */
        ctx.rect(0, 0, 200, 30);
        ctx.stroke(); // 绘制定义好的矩形路径
        ctx.fillStyle="#0000ff"; // 定义画笔颜色, 重新绘制已经加载的进度条
      }
      // 绘制进度条
      function drawProgress() {
        if(progress == 200) {
          progress = 0;
          ctx.clearRect(0, 0, 200, 30); // 清楚之前的绘制
        } else {
          ctx.moveTo(progress, 0); // 移动到上一次绘制的终点,准备绘制下一次的进度
          ctx.fillRect(progress, 0, 10, 30); // 200 * 0.05
          progress += 10;
        }
      }
    </script>
  </body>
</html>

运行结果:

js+HTML5 canvas 实现简单的加载条(进度条)功能示例

感兴趣的朋友可使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试一下运行效果。

更多关于JavaScript相关内容还可查看本站专题:《JavaScript+HTML5特效与技巧汇总》、《JavaScript图形绘制技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
window.event快达到全浏览器支持了,以后使用就方便了
Nov 30 Javascript
JSON 数字排序多字段排序介绍
Sep 18 Javascript
js实现无限级树形导航列表效果代码
Sep 23 Javascript
angularjs+bootstrap菜单的使用示例代码
Mar 07 Javascript
javascript遍历json对象的key和任意js对象属性实例
Mar 09 Javascript
JavaScript变量作用域_动力节点Java学院整理
Jun 27 Javascript
详解js几个绕不开的事件兼容写法
Aug 30 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
Sep 20 jQuery
浅谈如何使用webpack构建多页面应用
May 30 Javascript
vue实现放大镜效果
Sep 17 Javascript
如何手写简易的 Vue Router
Oct 10 Javascript
利用JavaScript写一个简单计算器
Nov 27 Javascript
微信小程序-API接口安全详解
Jul 16 #Javascript
jquery实现垂直无限轮播的方法分析
Jul 16 #jQuery
JavaScript解析JSON数据示例
Jul 16 #Javascript
微信小程序 Storage更新详解
Jul 16 #Javascript
微信小程序实现张图片合成为一张并下载
Jul 16 #Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
Jul 16 #jQuery
JS实现的排列组合算法示例
Jul 16 #Javascript
You might like
PHP图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
PHP+MySQL投票系统的设计和实现分享
2012/09/23 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
2016/05/18 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
JavaScript 基础问答三
2008/12/03 Javascript
js自动生成对象的属性示例代码
2013/10/28 Javascript
Knockout text绑定DOM的使用方法
2013/11/15 Javascript
使用node.js半年来总结的 10 条经验
2014/08/18 Javascript
轻松创建nodejs服务器(7):阻塞操作的实现
2014/12/18 NodeJs
利用jquery制作滚动到指定位置触发动画
2016/03/26 Javascript
JS使用cookie设置样式的方法
2016/06/30 Javascript
Javascript 动态改变imput type属性
2016/11/01 Javascript
javascript操作cookie
2017/01/17 Javascript
原生JS轮播图插件
2017/02/09 Javascript
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
2018/02/09 Javascript
p5.js入门教程之小球动画示例代码
2018/03/15 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
python使用xlrd与xlwt对excel的读写和格式设定
2017/01/21 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
Python 高级专用类方法的实例详解
2017/09/11 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
python 标准差计算的实现(std)
2019/07/29 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
python 匿名函数与三元运算学习笔记
2020/10/23 Python
class类在python中获取金融数据的实例方法
2020/12/10 Python
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
澳洲的服装老品牌:SABA
2018/02/06 全球购物
2014个人年度工作总结范文
2014/12/24 职场文书
文案策划岗位职责
2015/02/11 职场文书
大学生毕业个人总结
2015/02/15 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书