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 ui dialog里调用datepicker的问题
Aug 06 Javascript
Javascript 网页水印(非图片水印)实现代码
Mar 01 Javascript
基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题
Dec 11 Javascript
判断多个input type=file是否有已经选择好文件的代码
May 23 Javascript
JS小游戏之极速快跑源码详解
Sep 25 Javascript
浅谈jQuery中的checkbox问题
Aug 10 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
Nov 07 Javascript
js实现增加数字显示的环形进度条效果
Feb 05 Javascript
canvas实现爱心和彩虹雨效果
Mar 09 Javascript
jQuery列表检索功能实现代码
Jul 17 jQuery
解决Angular4项目部署到服务器上刷新404的问题
Aug 31 Javascript
javascript将非数值转换为数值
Sep 13 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
PHP4和PHP5性能测试和对比 测试代码与环境
2007/08/17 PHP
php中使用DOM类读取XML文件的实现代码
2011/12/14 PHP
PHP判断图片格式的七种方法小结
2013/06/03 PHP
php实现singleton()单例模式实例
2014/11/06 PHP
用jscript实现列出安装的软件列表
2007/06/18 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
js中小数转换整数的方法
2014/01/26 Javascript
JS设置获取cookies的方法
2014/01/26 Javascript
JavaScript cookie的设置获取删除详解
2014/02/11 Javascript
浅谈JavaScript Array对象
2014/12/29 Javascript
jquery中EasyUI实现异步树
2015/03/01 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
2015/08/07 Javascript
React利用插件和不用插件实现双向绑定的方法详解
2017/07/03 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
Vue精简版风格概述
2018/01/30 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
Python2.5/2.6实用教程 入门基础篇
2009/11/29 Python
在Python中使用PIL模块处理图像的教程
2015/04/29 Python
Python while 循环使用的简单实例
2016/06/08 Python
python爬虫之xpath的基本使用详解
2018/04/18 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
用python求一个数组的和与平均值的实现方法
2019/06/29 Python
PyCharm2019安装教程及其使用(图文教程)
2019/09/29 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
python 中的[:-1]和[::-1]的具体使用
2020/02/13 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
18-35岁旅游团的全球领导者:Contiki
2017/02/08 全球购物
巴西手表购物网站:eclock
2019/03/19 全球购物
幼儿教师寄语集锦
2014/04/03 职场文书
护理专科毕业自荐信范文
2014/04/21 职场文书
治超工作实施方案
2014/05/04 职场文书
2014年教师业务工作总结
2014/12/19 职场文书
拖欠货款起诉状
2015/05/20 职场文书
优化经济发展环境工作总结
2015/08/11 职场文书
十大最强岩石系宝可梦,怪颚龙实力最强,第七破坏力很强
2022/03/18 日漫
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python