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 相关文章推荐
Jquery拖拽并简单保存的实现代码
Nov 28 Javascript
ASP中Sub和Function的区别说明
Aug 30 Javascript
jQuery中scrollTop()方法用法实例
Jan 16 Javascript
纯Javascript实现ping功能的方法
Mar 20 Javascript
JavaScript面向对象的实现方法小结
Apr 14 Javascript
基于jQuery实现二级下拉菜单效果
Feb 01 Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
Nov 24 Javascript
JavaScript数据结构之链表的实现
Mar 19 Javascript
AngularJS中下拉框的高级用法示例
Oct 11 Javascript
微信小程序实现全局搜索代码高亮的示例
Mar 30 Javascript
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
Jul 22 jQuery
VUE之图片Base64编码使用ElementUI组件上传
Apr 09 Vue.js
微信小程序-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
html静态页面调用php文件的方法
2014/11/13 PHP
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
php实现二进制和文本相互转换的方法
2015/04/18 PHP
PHP错误Warning:mysql_query()解决方法
2015/10/24 PHP
PHP执行普通shell命令流程解析
2020/08/24 PHP
使用Microsoft Ajax Minifier减小JavaScript文件大小的方法
2010/04/01 Javascript
javascript模拟地球旋转效果代码实例
2013/12/02 Javascript
jquery sortable的拖动方法示例详解
2014/01/16 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
JS模拟实现ECMAScript5新增的数组方法
2017/03/20 Javascript
Cropper.js 实现裁剪图片并上传(PC端)
2017/08/20 Javascript
vuex中使用对象展开运算符的示例
2017/09/25 Javascript
vue内置指令详解
2018/04/03 Javascript
vue中设置height:100%无效的问题及解决方法
2018/07/27 Javascript
vue axios数据请求及vue中使用axios的方法
2018/09/10 Javascript
vue实现添加与删除图书功能
2018/10/07 Javascript
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
通过JQuery,JQueryUI和Jsplumb实现拖拽模块
2019/06/18 jQuery
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
2020/10/09 Javascript
Python常用的日期时间处理方法示例
2015/02/08 Python
Python 找到列表中满足某些条件的元素方法
2018/06/26 Python
Python设计模式之工厂方法模式实例详解
2019/01/18 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
python 判断文件还是文件夹的简单实例
2019/06/10 Python
python实现图像全景拼接
2020/03/27 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
解决keras模型保存h5文件提示无此目录问题
2020/07/01 Python
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
实现strstr功能,即在父串中寻找子串首次出现的位置
2016/08/05 面试题
经贸韩语专业大学生职业规划
2014/02/14 职场文书
经典英文广告词
2014/03/18 职场文书
高一新生军训方案
2014/05/12 职场文书
应届生面试求职信
2014/07/02 职场文书
群众路线个人剖析材料
2014/10/07 职场文书
关爱留守儿童捐款倡议书
2015/04/27 职场文书
小学二年级语文教学反思
2016/03/03 职场文书