使用html5制作loading图的示例


Posted in HTML / CSS onApril 14, 2014

复制代码
代码如下:

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<canvas id = "canvas"></canvas></p> <p> <script>
var Loading = function (canvas, options) {
this.canvas = document.getElementById(canvas);
this.options = options;
};</p> <p> Loading.prototype = {
constructor: Loading,
show: function () {
var canvas = this.canvas,
begin = this.options.begin,
old = this.options.old,
lineWidth = this.options.lineWidth,
canvasCenter = {x: canvas.width / 2, y: canvas.height / 2},
ctx = canvas.getContext("2d"),
color = this.options.color,
num = this.options.num,
angle = 0,
lineCap = this.options.lineCap,
CONST_PI = Math.PI * (360 / num) / 180;
window.timer = setInterval(function () {
ctx.clearRect(0, 0, canvas.width, canvas.height);
for (var i = 0; i < num; i += 1) {
ctx.beginPath();
ctx.strokeStyle = color[num - 1 - i];
ctx.lineWidth = lineWidth;
ctx.lineCap= lineCap;
ctx.moveTo(canvasCenter.x + Math.cos(CONST_PI * i + angle) * begin, canvasCenter.y + Math.sin(CONST_PI * i + angle) * begin);
ctx.lineTo(canvasCenter.x + Math.cos(CONST_PI * i + angle) * old, canvasCenter.y + Math.sin(CONST_PI * i + angle) * old);
ctx.stroke();
ctx.closePath();
}
angle += CONST_PI;
console.log(angle)
},50);
},
hide: function () {
clearInterval(window.timer);
}
};</p> <p> (function () {
var options = {
num : 8,
begin: 20,
old: 40,
lineWidth: 10,
lineCap: "round",
color: ["rgb(0, 0, 0)", "rgb(20, 20, 20)","rgb(40, 40, 40)", "rgb(60, 60, 60)","rgb(80, 80, 80)", "rgb(100, 100, 100)", "rgb(120, 120, 120)", "rgb(140, 140, 140)"]
};
var loading = new Loading("canvas", options);
loading.show();
}());
</script>
</body>
</html>

效果图:

使用html5制作loading图的示例

HTML / CSS 相关文章推荐
纯CSS3制作漂亮带动画效果的主机价格表
Apr 25 HTML / CSS
css3 clip实现圆环进度条的示例代码
Feb 07 HTML / CSS
CSS3制作圆形滚动进度条动画的示例
Nov 05 HTML / CSS
传统HTML页面实现模块化加载的方法
Oct 15 HTML / CSS
HTML5的结构和语义(2):结构
Oct 17 HTML / CSS
html5指南-7.geolocation结合google maps开发一个小的应用
Jan 07 HTML / CSS
html5 跨文档消息传输示例探讨
Apr 01 HTML / CSS
浅析border-radius如何兼容IE
Apr 19 HTML / CSS
详解HTML5中rel属性的prefetch预加载功能使用
May 06 HTML / CSS
浅谈html5增强的页面元素
Jun 14 HTML / CSS
记一次高分屏下canvas模糊问题
Feb 17 HTML / CSS
html5启动原生APP总结
Jul 03 HTML / CSS
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
Apr 14 #HTML / CSS
html5图片上传预览示例分享
Apr 14 #HTML / CSS
HTML5 Canvas锯齿图代码实例
Apr 10 #HTML / CSS
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
Apr 10 #HTML / CSS
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
Apr 10 #HTML / CSS
HTML5的自定义属性data-*详细介绍和JS操作实例
Apr 10 #HTML / CSS
让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)
Apr 08 #HTML / CSS
You might like
解析关于wamp启动是80端口被占用的问题
2013/06/21 PHP
Yii把CGridView文本框换成下拉框的方法
2014/12/03 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
Laravel 的数据库迁移的方法
2017/07/31 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
jQuery 打造动态下滑菜单实现说明
2010/04/15 Javascript
js实现按一下删除键删除整个单词附demo
2014/09/05 Javascript
深入理解JavaScript系列(45):代码复用模式(避免篇)详解
2015/03/04 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
JavaScript DOM节点操作方法总结
2016/08/23 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
讲解vue-router之什么是嵌套路由
2018/05/28 Javascript
解决element ui select下拉框不回显数据问题的解决
2019/02/20 Javascript
移动端自适应flexible.js的使用方法(不用三大框架,仅写一个单html页面使用)推荐
2019/04/02 Javascript
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
2019/07/16 Javascript
vue实现多级菜单效果
2019/10/19 Javascript
python之Socket网络编程详解
2016/09/29 Python
关于python的list相关知识(推荐)
2017/08/30 Python
Python实现随机选择元素功能
2017/09/14 Python
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
2020/07/01 Python
给医务人员表扬信
2014/01/12 职场文书
事业单位请假制度
2014/01/13 职场文书
GMP办公室主任岗位职责
2014/03/14 职场文书
青春寄语大全
2014/04/09 职场文书
离婚协议书范文2015
2015/01/26 职场文书
2015年酒店前台工作总结
2015/04/20 职场文书
2015年公司保安年终工作总结
2015/05/14 职场文书
无犯罪记录证明样本
2015/06/16 职场文书
小学生教师节广播稿
2015/08/19 职场文书
五年级作文之劳动作文
2019/11/12 职场文书
golang的文件创建及读写操作
2022/04/14 Golang