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 相关文章推荐
跟我学习javascript的prototype原型和原型链
Nov 18 Javascript
基于jQuery的Web上传插件Uploadify使用示例
May 19 Javascript
D3.js实现柱状图的方法详解
Sep 21 Javascript
Bootstrap Table使用整理(二)
Jun 09 Javascript
详解angularjs的数组传参方式的简单实现
Jul 28 Javascript
Node.js dgram模块实现UDP通信示例代码
Sep 26 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
Dec 04 Javascript
详解vue静态资源打包中的坑与解决方案
Feb 05 Javascript
微信小程序wx:for和wx:for-item的用法详解
Apr 01 Javascript
结合Vue控制字符和字节的显示个数的示例
May 17 Javascript
使用JavaScript实现node.js中的path.join方法
Aug 12 Javascript
浅谈Node框架接入ELK实践总结
Feb 22 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
web方式ftp
2006/10/09 PHP
PHP 命令行参数详解及应用
2011/05/18 PHP
PHP缓冲区用法总结
2016/02/14 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
PHP将整数数字转换为罗马数字实例分享
2019/03/17 PHP
JavaScript制作的可折叠弹出式菜单示例
2014/04/04 Javascript
用jquery修复在iframe下的页面锚点失效问题
2014/08/22 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
2017/01/12 Javascript
JS实现两周内自动登录功能
2017/03/23 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
2017/08/18 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
JavaScript事件委托原理与用法实例分析
2018/06/07 Javascript
基于React Native 0.52实现轮播图效果
2020/08/25 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
2019/05/02 Javascript
Python使用代理抓取网站图片(多线程)
2014/03/14 Python
python基础教程之字典操作详解
2014/03/25 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
Python实现RabbitMQ6种消息模型的示例代码
2020/03/30 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
html5弹跳球示例代码
2013/07/23 HTML / CSS
英国最大的香水商店:The Fragrance Shop
2018/07/06 全球购物
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
管理建议书范文
2014/05/13 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
篮球社团活动总结
2014/06/27 职场文书
2014单位领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
学校世界艾滋病日宣传活动总结
2015/05/05 职场文书
2015小学五年级班主任工作总结
2015/05/21 职场文书
JavaScript parseInt0.0000005打印5原理解析
2022/07/23 Javascript