足球游戏_中国足彩网¥体育资讯$

HTML5进度条特效
来源:易贤网 阅读:581 次 日期:2014-12-23 11:42:51
温馨提示:易贤网小编为您整理了“HTML5进度条特效”,方便广大网友查阅!

请使用支持HTML5的浏览器查看本特效

代码如下:

<!DOCTYPE html>

<html>

<head>

<meta charset='UTF-8'>

<title>HTML5有特色的进度条</title>

<base target="_blank" />

<style>

body {

background: #111;

color:White;

}

a{color:White;}

canvas {

background: #111;

border: 1px solid #171717;

display: block;

left: 50%;

margin: -51px 0 0 -201px;

position: absolute;

top: 50%;

}

</style>

</head>

<body>

<script type="text/javascript">

/*==============================================*/

/* Light Loader

/*==================================================*/

var lightLoader = function (c, cw, ch) {

var _this = this;

this.c = c;

this.ctx = c.getContext('2d');

this.cw = cw;

this.ch = ch;

this.loaded = 0;

this.loaderSpeed = .6;

this.loaderHeight = 10;

this.loaderWidth = 310;

this.loader = {

x: (this.cw / 2) - (this.loaderWidth / 2),

y: (this.ch / 2) - (this.loaderHeight / 2)

};

this.particles = [];

this.particleLift = 180;

this.hueStart = 0

this.hueEnd = 120;

this.hue = 0;

this.gravity = .15;

this.particleRate = 4;

/*========================================================*/

/* Initialize

/*========================================================*/

this.init = function () {

this.loop();

};

/*========================================================*/

/* Utility Functions

/*========================================================*/

this.rand = function (rMi, rMa) { return ~ ~((Math.random() * (rMa - rMi + 1)) + rMi); };

this.hitTest = function (x1, y1, w1, h1, x2, y2, w2, h2) { return !(x1 + w1 < x2 || x2 + w2 < x1 || y1 + h1 < y2 || y2 + h2 < y1); };

/*========================================================*/

/* Update Loader

/*========================================================*/

this.updateLoader = function () {

if (this.loaded < 100) {

this.loaded += this.loaderSpeed;

} else {

this.loaded = 0;

}

};

/*========================================================*/

/* Render Loader

/*========================================================*/

this.renderLoader = function () {

this.ctx.fillStyle = '#000';

this.ctx.fillRect(this.loader.x, this.loader.y, this.loaderWidth, this.loaderHeight);

this.hue = this.hueStart + (this.loaded / 100) * (this.hueEnd - this.hueStart);

var newWidth = (this.loaded / 100) * this.loaderWidth;

this.ctx.fillStyle = 'hsla(' + this.hue + ', 100%, 40%, 1)';

this.ctx.fillRect(this.loader.x, this.loader.y, newWidth, this.loaderHeight);

this.ctx.fillStyle = '#222';

this.ctx.fillRect(this.loader.x, this.loader.y, newWidth, this.loaderHeight / 2);

};

/*========================================================*/

/* Particles

/*========================================================*/

this.Particle = function () {

this.x = _this.loader.x + ((_this.loaded / 100) * _this.loaderWidth) - _this.rand(0, 1);

this.y = _this.ch / 2 + _this.rand(0, _this.loaderHeight) - _this.loaderHeight / 2;

this.vx = (_this.rand(0, 4) - 2) / 100;

this.vy = (_this.rand(0, _this.particleLift) - _this.particleLift * 2) / 100;

this.width = _this.rand(1, 4) / 2;

this.height = _this.rand(1, 4) / 2;

this.hue = _this.hue;

};

this.Particle.prototype.update = function (i) {

this.vx += (_this.rand(0, 6) - 3) / 100;

this.vy += _this.gravity;

this.x += this.vx;

this.y += this.vy;

if (this.y > _this.ch) {

_this.particles.splice(i, 1);

}

};

this.Particle.prototype.render = function () {

_this.ctx.fillStyle = 'hsla(' + this.hue + ', 100%, ' + _this.rand(50, 70) + '%, ' + _this.rand(20, 100) / 100 + ')';

_this.ctx.fillRect(this.x, this.y, this.width, this.height);

};

this.createParticles = function () {

var i = this.particleRate;

while (i--) {

this.particles.push(new this.Particle());

};

};

this.updateParticles = function () {

var i = this.particles.length;

while (i--) {

var p = this.particles[i];

p.update(i);

};

};

this.renderParticles = function () {

var i = this.particles.length;

while (i--) {

var p = this.particles[i];

p.render();

};

};</p> <p>/*========================================================*/

/* Clear Canvas

/*========================================================*/

this.clearCanvas = function () {

this.ctx.globalCompositeOperation = 'source-over';

this.ctx.clearRect(0, 0, this.cw, this.ch);

this.ctx.globalCompositeOperation = 'lighter';

};

/*========================================================*/

/* Animation Loop

/*========================================================*/

this.loop = function () {

var loopIt = function () {

requestAnimationFrame(loopIt, _this.c);

_this.clearCanvas();

_this.createParticles();

_this.updateLoader();

_this.updateParticles();

_this.renderLoader();

_this.renderParticles();

};

loopIt();

};

};

/*========================================================*/

/* Check Canvas Support

/*========================================================*/

var isCanvasSupported = function () {

var elem = document.createElement('canvas');

return !!(elem.getContext && elem.getContext('2d'));

};

/*========================================================*/

/* Setup requestAnimationFrame

/*========================================================*/

var setupRAF = function () {

var lastTime = 0;

var vendors = ['ms', 'moz', 'webkit', 'o'];

for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {

window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];

window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];

};

if (!window.requestAnimationFrame) {

window.requestAnimationFrame = function (callback, element) {

var currTime = new Date().getTime();

var timeToCall = Math.max(0, 16 - (currTime - lastTime));

var id = window.setTimeout(function () { callback(currTime + timeToCall); }, timeToCall);

lastTime = currTime + timeToCall;

return id;

};

};

if (!window.cancelAnimationFrame) {

window.cancelAnimationFrame = function (id) {

clearTimeout(id);

};

};

};

/*========================================================*/

/* Define Canvas and Initialize

/*========================================================*/

if (isCanvasSupported) {

var c = document.createElement('canvas');

c.width = 400;

c.height = 100;

var cw = c.width;

var ch = c.height;

document.body.appendChild(c);

var cl = new lightLoader(c, cw, ch);

setupRAF();

cl.init();

}

</script>

<div style="position:absolute; top: 0;width:100%">

<div class="footer-banner" style="width:728px;margin:10px auto;color:White">

HTML5进度条

请使用支持HTML5的浏览器查看本页</div>

</div>

</body>

</html>

中国足彩网信息请查看IT技术专栏

中国足彩网信息请查看网页制作
易贤网手机网站地址:HTML5进度条特效
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 足球游戏_中国足彩网¥体育资讯$ 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:易贤网
云南网警报警专用图标