Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
body { background: #111; } canvas { display: block; left: 50%; margin: -150px 0 0 -150px; position: absolute; top: 50%; }
JavaScript
var c = document.getElementById('c'), ctx = c.getContext('2d'), cw = c.width = 300, ch = c.height = 300, parts = [], partCount = 200, partsFull = false, hueRange = 50, globalTick = 0, rand = function(min, max){ return Math.floor( (Math.random() * (max - min + 1) ) + min); }; var Part = function(){ this.reset(); }; Part.prototype.reset = function(){ this.startRadius = rand(1, 25); this.radius = this.startRadius; this.x = cw/2 + (rand(0, 6) - 3); this.y = 250; this.vx = 0; this.vy = 0; this.hue = rand(globalTick - hueRange, globalTick + hueRange); this.saturation = rand(50, 100); this.lightness = rand(20, 70); this.startAlpha = rand(1, 10) / 100; this.alpha = this.startAlpha; this.decayRate = .1; this.startLife = 7; this.life = this.startLife; this.lineWidth = rand(1, 3); } Part.prototype.update = function(){ this.vx += (rand(0, 200) - 100) / 1500; this.vy -= this.life/50; this.x += this.vx; this.y += this.vy; this.alpha = this.startAlpha * (this.life / this.startLife); this.radius = this.startRadius * (this.life / this.startLife); this.life -= this.decayRate; if( this.x > cw + this.radius || this.x < -this.radius || this.y > ch + this.radius || this.y < -this.radius || this.life <= this.decayRate ){ this.reset(); } }; Part.prototype.render = function(){ ctx.beginPath(); ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2, false); ctx.fillStyle = ctx.strokeStyle = 'hsla('+this.hue+', '+this.saturation+'%, '+this.lightness+'%, '+this.alpha+')'; ctx.lineWidth = this.lineWidth; ctx.fill(); ctx.stroke(); }; var createParts = function(){ if(!partsFull){ if(parts.length > partCount){ partsFull = true; } else { parts.push(new Part()); } } }; var updateParts = function(){ var i = parts.length; while(i--){ parts[i].update(); } }; var renderParts = function(){ var i = parts.length; while(i--){ parts[i].render(); } }; var clear = function(){ ctx.globalCompositeOperation = 'destination-out'; ctx.fillStyle = 'hsla(0, 0%, 0%, .3)'; ctx.fillRect(0, 0, cw, ch); ctx.globalCompositeOperation = 'lighter'; }; var loop = function(){ window.requestAnimFrame(loop, c); clear(); createParts(); updateParts(); renderParts(); globalTick++; }; window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)}}(); loop();
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>canvas粒子火焰-jq22.com</title> <script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号