HTML5进度条特效_html5教程技巧
2014-12-28 00:35:03
[小 大]
已经帮助:人解决问题
这篇文章主要介绍了HTML5进度条特效,需要的朋友可以参考下
请使用支持HTML5的浏览器查看本特效zcUHTML5中文学习网 - HTML5先行者学习网
zcUHTML5中文学习网 - HTML5先行者学习网
<!DOCTYPE html>zcUHTML5中文学习网 - HTML5先行者学习网
<html>zcUHTML5中文学习网 - HTML5先行者学习网
<head>zcUHTML5中文学习网 - HTML5先行者学习网
<meta charset='UTF-8'>zcUHTML5中文学习网 - HTML5先行者学习网
<title>HTML5有特色的进度条</title>zcUHTML5中文学习网 - HTML5先行者学习网
<base target="_blank" />zcUHTML5中文学习网 - HTML5先行者学习网
<style>zcUHTML5中文学习网 - HTML5先行者学习网
body {zcUHTML5中文学习网 - HTML5先行者学习网
background: #111;zcUHTML5中文学习网 - HTML5先行者学习网
color:White;zcUHTML5中文学习网 - HTML5先行者学习网
}zcUHTML5中文学习网 - HTML5先行者学习网
a{color:White;}zcUHTML5中文学习网 - HTML5先行者学习网
canvas {zcUHTML5中文学习网 - HTML5先行者学习网
background: #111;zcUHTML5中文学习网 - HTML5先行者学习网
border: 1px solid #171717;zcUHTML5中文学习网 - HTML5先行者学习网
display: block;zcUHTML5中文学习网 - HTML5先行者学习网
left: 50%;zcUHTML5中文学习网 - HTML5先行者学习网
margin: -51px 0 0 -201px;zcUHTML5中文学习网 - HTML5先行者学习网
position: absolute;zcUHTML5中文学习网 - HTML5先行者学习网
top: 50%;zcUHTML5中文学习网 - HTML5先行者学习网
}zcUHTML5中文学习网 - HTML5先行者学习网
</style>zcUHTML5中文学习网 - HTML5先行者学习网
</head>zcUHTML5中文学习网 - HTML5先行者学习网
<body>zcUHTML5中文学习网 - HTML5先行者学习网
<script type="text/javascript">zcUHTML5中文学习网 - HTML5先行者学习网
/*==============================================*/zcUHTML5中文学习网 - HTML5先行者学习网
/* Light LoaderzcUHTML5中文学习网 - HTML5先行者学习网
/*==================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
var lightLoader = function (c, cw, ch) {zcUHTML5中文学习网 - HTML5先行者学习网
var _this = this;zcUHTML5中文学习网 - HTML5先行者学习网
this.c = c;zcUHTML5中文学习网 - HTML5先行者学习网
this.ctx = c.getContext('2d');zcUHTML5中文学习网 - HTML5先行者学习网
this.cw = cw;zcUHTML5中文学习网 - HTML5先行者学习网
this.ch = ch;zcUHTML5中文学习网 - HTML5先行者学习网
this.loaded = 0;zcUHTML5中文学习网 - HTML5先行者学习网
this.loaderSpeed = .6;zcUHTML5中文学习网 - HTML5先行者学习网
this.loaderHeight = 10;zcUHTML5中文学习网 - HTML5先行者学习网
this.loaderWidth = 310;zcUHTML5中文学习网 - HTML5先行者学习网
this.loader = {zcUHTML5中文学习网 - HTML5先行者学习网
x: (this.cw / 2) - (this.loaderWidth / 2),zcUHTML5中文学习网 - HTML5先行者学习网
y: (this.ch / 2) - (this.loaderHeight / 2)zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
this.particles = [];zcUHTML5中文学习网 - HTML5先行者学习网
this.particleLift = 180;zcUHTML5中文学习网 - HTML5先行者学习网
this.hueStart = 0zcUHTML5中文学习网 - HTML5先行者学习网
this.hueEnd = 120;zcUHTML5中文学习网 - HTML5先行者学习网
this.hue = 0;zcUHTML5中文学习网 - HTML5先行者学习网
this.gravity = .15;zcUHTML5中文学习网 - HTML5先行者学习网
this.particleRate = 4;zcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
/* InitializezcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
this.init = function () {zcUHTML5中文学习网 - HTML5先行者学习网
this.loop();zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
/* Utility FunctionszcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
this.rand = function (rMi, rMa) { return ~ ~((Math.random() * (rMa - rMi + 1)) + rMi); };zcUHTML5中文学习网 - HTML5先行者学习网
this.hitTest = function (x1, y1, w1, h1, x2, y2, w2, h2) { return !(x1 + w1 < x2 || x2 + w2 < x1 || y1 + h1 < y2 || y2 + h2 < y1); };zcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
/* Update LoaderzcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
this.updateLoader = function () {zcUHTML5中文学习网 - HTML5先行者学习网
if (this.loaded < 100) {zcUHTML5中文学习网 - HTML5先行者学习网
this.loaded += this.loaderSpeed;zcUHTML5中文学习网 - HTML5先行者学习网
} else {zcUHTML5中文学习网 - HTML5先行者学习网
this.loaded = 0;zcUHTML5中文学习网 - HTML5先行者学习网
}zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
/* Render LoaderzcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
this.renderLoader = function () {zcUHTML5中文学习网 - HTML5先行者学习网
this.ctx.fillStyle = '#000';zcUHTML5中文学习网 - HTML5先行者学习网
this.ctx.fillRect(this.loader.x, this.loader.y, this.loaderWidth, this.loaderHeight);zcUHTML5中文学习网 - HTML5先行者学习网
this.hue = this.hueStart + (this.loaded / 100) * (this.hueEnd - this.hueStart);zcUHTML5中文学习网 - HTML5先行者学习网
var newWidth = (this.loaded / 100) * this.loaderWidth;zcUHTML5中文学习网 - HTML5先行者学习网
this.ctx.fillStyle = 'hsla(' + this.hue + ', 100%, 40%, 1)';zcUHTML5中文学习网 - HTML5先行者学习网
this.ctx.fillRect(this.loader.x, this.loader.y, newWidth, this.loaderHeight);zcUHTML5中文学习网 - HTML5先行者学习网
this.ctx.fillStyle = '#222';zcUHTML5中文学习网 - HTML5先行者学习网
this.ctx.fillRect(this.loader.x, this.loader.y, newWidth, this.loaderHeight / 2);zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
/* ParticleszcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
this.Particle = function () {zcUHTML5中文学习网 - HTML5先行者学习网
this.x = _this.loader.x + ((_this.loaded / 100) * _this.loaderWidth) - _this.rand(0, 1);zcUHTML5中文学习网 - HTML5先行者学习网
this.y = _this.ch / 2 + _this.rand(0, _this.loaderHeight) - _this.loaderHeight / 2;zcUHTML5中文学习网 - HTML5先行者学习网
this.vx = (_this.rand(0, 4) - 2) / 100;zcUHTML5中文学习网 - HTML5先行者学习网
this.vy = (_this.rand(0, _this.particleLift) - _this.particleLift * 2) / 100;zcUHTML5中文学习网 - HTML5先行者学习网
this.width = _this.rand(1, 4) / 2;zcUHTML5中文学习网 - HTML5先行者学习网
this.height = _this.rand(1, 4) / 2;zcUHTML5中文学习网 - HTML5先行者学习网
this.hue = _this.hue;zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
this.Particle.prototype.update = function (i) {zcUHTML5中文学习网 - HTML5先行者学习网
this.vx += (_this.rand(0, 6) - 3) / 100;zcUHTML5中文学习网 - HTML5先行者学习网
this.vy += _this.gravity;zcUHTML5中文学习网 - HTML5先行者学习网
this.x += this.vx;zcUHTML5中文学习网 - HTML5先行者学习网
this.y += this.vy;zcUHTML5中文学习网 - HTML5先行者学习网
if (this.y > _this.ch) {zcUHTML5中文学习网 - HTML5先行者学习网
_this.particles.splice(i, 1);zcUHTML5中文学习网 - HTML5先行者学习网
}zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
this.Particle.prototype.render = function () {zcUHTML5中文学习网 - HTML5先行者学习网
_this.ctx.fillStyle = 'hsla(' + this.hue + ', 100%, ' + _this.rand(50, 70) + '%, ' + _this.rand(20, 100) / 100 + ')';zcUHTML5中文学习网 - HTML5先行者学习网
_this.ctx.fillRect(this.x, this.y, this.width, this.height);zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
this.createParticles = function () {zcUHTML5中文学习网 - HTML5先行者学习网
var i = this.particleRate;zcUHTML5中文学习网 - HTML5先行者学习网
while (i--) {zcUHTML5中文学习网 - HTML5先行者学习网
this.particles.push(new this.Particle());zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
this.updateParticles = function () {zcUHTML5中文学习网 - HTML5先行者学习网
var i = this.particles.length;zcUHTML5中文学习网 - HTML5先行者学习网
while (i--) {zcUHTML5中文学习网 - HTML5先行者学习网
var p = this.particles[i];zcUHTML5中文学习网 - HTML5先行者学习网
p.update(i);zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
this.renderParticles = function () {zcUHTML5中文学习网 - HTML5先行者学习网
var i = this.particles.length;zcUHTML5中文学习网 - HTML5先行者学习网
while (i--) {zcUHTML5中文学习网 - HTML5先行者学习网
var p = this.particles[i];zcUHTML5中文学习网 - HTML5先行者学习网
p.render();zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
};</p><p>/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
/* Clear CanvaszcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
this.clearCanvas = function () {zcUHTML5中文学习网 - HTML5先行者学习网
this.ctx.globalCompositeOperation = 'source-over';zcUHTML5中文学习网 - HTML5先行者学习网
this.ctx.clearRect(0, 0, this.cw, this.ch);zcUHTML5中文学习网 - HTML5先行者学习网
this.ctx.globalCompositeOperation = 'lighter';zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
/* Animation Loop zcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
this.loop = function () {zcUHTML5中文学习网 - HTML5先行者学习网
var loopIt = function () {zcUHTML5中文学习网 - HTML5先行者学习网
requestAnimationFrame(loopIt, _this.c);zcUHTML5中文学习网 - HTML5先行者学习网
_this.clearCanvas();zcUHTML5中文学习网 - HTML5先行者学习网
_this.createParticles();zcUHTML5中文学习网 - HTML5先行者学习网
_this.updateLoader();zcUHTML5中文学习网 - HTML5先行者学习网
_this.updateParticles();zcUHTML5中文学习网 - HTML5先行者学习网
_this.renderLoader();zcUHTML5中文学习网 - HTML5先行者学习网
_this.renderParticles();zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
loopIt();zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
/* Check Canvas SupportzcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
var isCanvasSupported = function () {zcUHTML5中文学习网 - HTML5先行者学习网
var elem = document.createElement('canvas');zcUHTML5中文学习网 - HTML5先行者学习网
return !!(elem.getContext && elem.getContext('2d'));zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
/* Setup requestAnimationFramezcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
var setupRAF = function () {zcUHTML5中文学习网 - HTML5先行者学习网
var lastTime = 0;zcUHTML5中文学习网 - HTML5先行者学习网
var vendors = ['ms', 'moz', 'webkit', 'o'];zcUHTML5中文学习网 - HTML5先行者学习网
for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {zcUHTML5中文学习网 - HTML5先行者学习网
window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];zcUHTML5中文学习网 - HTML5先行者学习网
window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
if (!window.requestAnimationFrame) {zcUHTML5中文学习网 - HTML5先行者学习网
window.requestAnimationFrame = function (callback, element) {zcUHTML5中文学习网 - HTML5先行者学习网
var currTime = new Date().getTime();zcUHTML5中文学习网 - HTML5先行者学习网
var timeToCall = Math.max(0, 16 - (currTime - lastTime));zcUHTML5中文学习网 - HTML5先行者学习网
var id = window.setTimeout(function () { callback(currTime + timeToCall); }, timeToCall);zcUHTML5中文学习网 - HTML5先行者学习网
lastTime = currTime + timeToCall;zcUHTML5中文学习网 - HTML5先行者学习网
return id;zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
if (!window.cancelAnimationFrame) {zcUHTML5中文学习网 - HTML5先行者学习网
window.cancelAnimationFrame = function (id) {zcUHTML5中文学习网 - HTML5先行者学习网
clearTimeout(id);zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
};zcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
/* Define Canvas and InitializezcUHTML5中文学习网 - HTML5先行者学习网
/*========================================================*/zcUHTML5中文学习网 - HTML5先行者学习网
if (isCanvasSupported) {zcUHTML5中文学习网 - HTML5先行者学习网
var c = document.createElement('canvas');zcUHTML5中文学习网 - HTML5先行者学习网
c.width = 400;zcUHTML5中文学习网 - HTML5先行者学习网
c.height = 100;zcUHTML5中文学习网 - HTML5先行者学习网
var cw = c.width;zcUHTML5中文学习网 - HTML5先行者学习网
var ch = c.height;zcUHTML5中文学习网 - HTML5先行者学习网
document.body.appendChild(c);zcUHTML5中文学习网 - HTML5先行者学习网
var cl = new lightLoader(c, cw, ch);zcUHTML5中文学习网 - HTML5先行者学习网
setupRAF();zcUHTML5中文学习网 - HTML5先行者学习网
cl.init();zcUHTML5中文学习网 - HTML5先行者学习网
}zcUHTML5中文学习网 - HTML5先行者学习网
</script>zcUHTML5中文学习网 - HTML5先行者学习网
<div style="position:absolute; top: 0;width:100%">zcUHTML5中文学习网 - HTML5先行者学习网
<div class="footer-banner" style="width:728px;margin:10px auto;color:White">zcUHTML5中文学习网 - HTML5先行者学习网
HTML5进度条zcUHTML5中文学习网 - HTML5先行者学习网
请使用支持HTML5的浏览器查看本页</div>zcUHTML5中文学习网 - HTML5先行者学习网
</div>zcUHTML5中文学习网 - HTML5先行者学习网
</body>zcUHTML5中文学习网 - HTML5先行者学习网
</html>zcUHTML5中文学习网 - HTML5先行者学习网
zcUHTML5中文学习网 - HTML5先行者学习网