js实现带粒子进度条效果代码
代码语言:html
所属分类:进度条
代码描述:js实现带粒子进度条效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/jquery-3.2.1.min.js"></script>
<style>
body, html {
margin: 0px;
padding: 0px;
background: #000000;
}
</style>
</head>
<body>
<canvas id="canvas"></canvas>
<script>
$(function() {
//Indention is a bit f*d up
//Set animation frame
window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
var canvas = $('#canvas')[0],
ctx = canvas.getContext('2d'),
canvasW = $(document).width(),
canvasH = $(document).height();
ctx.fillStyle = 'black';
canvas.width = canvasW;
canvas.height = canvasH;
var mouse = {
x: canvasW/2,
y: canvasH/2,
dx: 0,
dy: 0
};
var emitter = {
h: 50,
x: canvasW/2-250,
y: canvasH/2,
vx: 5,
vy: 5,
v: 0.05,
dx: 0,
dy: 0
};
var stops = [50, 150, 160, 300, 500],
stopIndex = 0,
delay = 0,
prog = 0;
var circle = {
radius: 125,
angle: 0
};
var particles = new Array();
var rate = 2,
time = 0,
frameIndex = rate;
var simplex = new SimplexNoise(),
simplexVal = 0,
simplexStart = 20;
//Start loop
draw();
//Draw
function draw() {
ctx.globalCompositeOperation = 'source-over';
ctx.fillStyle = 'rgba(0,0,0,0.5)';
ctx.fillRect(0, 0, canvasW, canvasH);
ctx.globalCompositeOperation = 'lighter';
//Draw loading
ctx.fillStyle = '#000';
ctx.fillRect(canvasW/2-250, emitter.y-emitter.h/2, 500, emitter.h);
ctx.strokeStyle = 'rgba(0,255,0,0.5)';
ctx.strokeRect(canvasW/2-250, emitter.y-emitter.h/2, 500, emitter.h);
ctx.font = '20pt Arial';
ctx.fillStyle = 'rgba(0,255,0,0.5)';
ctx.fillText(Math.floor(prog/5)+'%', canvasW/2-20, ca.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0