<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="Amazon" /><meta name="description" content="Amazon.com" /><meta name="apple-touch-fullscreen" content="YES" />
<meta name="viewport" content="format-detection=no,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,width=device-width" />
<title>Happy shopping</title>
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<style>
.bd-rd-sw {border-radius: 6px; box-shadow: 0 1px 3px rgba(34, 25, 25, 0.4);}
.hidden {display: none;}
.loading {background-color: #DFDFDF; padding: 20px; position: fixed; left: 50%; top: 20%; z-index: 999;}
.overlay {background-color: #DFDFDF; height: 100%; opacity: 0.6; position: absolute; width:100%;}
</style>
</head>
<body>
<script type="text/javascript">
var UI = (function() {
function ProgressWidget(canvasId) {
var CIRCLE_COUNT = 5;
var CIRCLE_OFFSET = 10;
var CIRCLE_RADIUS = 5;
var CIRCLE_LINE = 1;
var COLOR_NORMAL = '#FFFFFF';
var COLOR_SELECTED = '#5995BF';
var DOUBLE_PI = Math.PI * 2;
var INTERVAL_TIME = 300;
var LINE_WIDTH = 1;
var START_POINT = {x: 10, y: 15};
// create DOM objects
var front = $("#loading");
if (front.length == 0) {
front = $("<div class='loading bd-sw hidden' id='loading'></div>");
$("body").append(front);
}
var canvas = $("#progressCanvas");
if (canvas.length == 0) {
canvas = $("<canvas id='progressCanvas' width='150' height='30'></canvas>");
front.append(canvas);
var w = front.width() / 2;
front.css('margin-left', -1 * w);
}
var _count = 0;
var _drawContext = null;
var _drawArea = document.getElementById('progressCanvas');
if (_drawArea && _drawArea.getContext) {
_drawContext = _drawArea.getContext('2d');
}
var _task = null;
function draw() {
_drawContext.clearRect(0, 0, _drawArea.clientWidth, _drawArea.clientHeight);
_drawContext.lineWidth = 1;
var vx = START_POINT.x, vy = START_POINT.y;
var radius = CIRCLE_RADIUS;
var c = _count % CIRCLE_COUNT;
for (var j = 0; j < CIRCLE_COUNT; j++) {
_drawContext.fillStyle = j == c ? COLOR_SELECTED : COLOR_NORMAL;
_drawContext.beginPath();
_drawContext.arc(vx, vy, radius, 0, DOUBLE_PI, true);
_drawContext.fill();
_drawContext.closePath();
radius += 2;
vx += CIRCLE_OFFSET + radius * 2;
}
_count++;
}
this.hide = function() {
front.fadeOut();
if (_task != null) {
clearInterval(_task);
_task == null;
}
};
this.isRunning = function() {
return front.is(':visible');
};
this.show = function(message) {
if (_drawContext == null) {
return;
}
_task = setInterval(draw, INTERVAL_TIME);
front.show();
};
} // Object - ProgressWidget
return {
'getLoadingWidget': function() { return new ProgressWidget(); }
};
})();
var loading = UI.getLoadingWidget();
loading.show();
</script>
</body>
</html>
分享到:
相关推荐
Canvas 发光loading动画 --Canvas 发光loading动画 --Canvas 发光loading动画 --Canvas 发光loading动画
这是一款纯CSS3漩涡样式的Loading加载动画和CSS3发光线条旋转Loading加载动画,支持动态调节动画参数。
HTML5 Canvas网页发光圆形加载进度条Loading动画 HTML5 Canvas网页发光圆形加载进度条Loading动画
这是一款基于HTML5 Canvas实现的发光Loading加载动画特效源码。Loading旋转图标是在canvas画布上绘制的,整个loading动画是发光3D的视觉效果,相较于以往的loading动画特效,这款特效更显炫目华丽!
Canvas制作圆形进度条Loading效果
这个canvas例子中包含了许多canvas实际运用中的小技巧,相信你如果原因花点时间来研究一下,一定会受益匪浅。
这次我们来看一款非常酷的Loading动画加载效果,和纯CSS3实现齿轮Loading加载动画类似,也是利用几何的特性来模拟的,它是一些类似旋转的动画效果。另外,关于Loading动画,我们也可以看看html5tricks上的Loading...
Canvas圆形进度条Loading代码是一款简洁好看的圆形进度加载动画素材。
这款Loading动画加载效果主要是利用几何的特性来模拟的,可实现伸缩旋转的视觉效果。建议使用支持HTML5较好的火狐或谷歌等浏览器预览。
之前我们分享过很多基于jQuery和HTML5的Loading加载动画,比如这款HTML5 Canvas发光Loading动画就是基于Canvas的。今天我们要分享另外一款基于HTML5 Canvas的液体流动样式Loading加载动画,这款Loading动画在加载时...
这是一款基于HTML5 Canvas和Rebound动画的Loading加载动画特效。该loading动画使用canvas来覆盖整个页面,并显示多边形的loading加载器来表示加载进度。
html5 canvas神奇宝贝球Loading加载动画特效 html5 canvas神奇宝贝球Loading加载动画特效
这是一款使用HTML5 canvas制作的效果非常酷的loading进度条特效。该loading进度条在动画的时候会有粒子从进度条头部不断的飞射出来,并且进度条的颜色还会随机改变,非常有创意。
Canvas圆形进度条Loading代码是一款简洁好看的圆形进度加载动画素材。
Canvas圆形进度条Loading代码是一款简洁好看的圆形进度加载动画素材。
canvas
Canvas开发、入门学习Canvas技术代码。 HTML5 Canvas核心技术源码技术代码、图形、动画与游戏开发。 Canvas开发、入门学习Canvas技术代码。 HTML5 Canvas核心技术源码技术代码、图形、动画与游戏开发。 Canvas开发、...
canvas裁剪canvas裁剪canvas裁剪canvas裁剪canvas裁剪canvas裁剪
内容概要:canvas案例,loading动画。加载动画。 实现技术:htm+js实现。双击浏览器打开即可看效果 能学到什么:canvas技术 适用人群: 前端canvas学习新手 阅读建议:支持canvas的浏览器
canvas简单实例详解