Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
html, body { height: 100%; } body{ margin: 10px; font-size: 2vw; margin: 0; display: flex; align-items: center; justify-content: center;background-color: #000; } canvas { background-color: #000000; max-width: 100%; max-height: 100%; width: auto; height: auto; resize: both; } center{ z-index: 100; max-width: 100%; max-height: 100%; width: auto; height: auto; }
JavaScript
const max_fireworks = 5, max_sparks = 50; let canvas = document.getElementById('myCanvas'); let context = canvas.getContext('2d'); let fireworks = []; for (let i = 0; i < max_fireworks; i++) { let firework = { sparks: [] }; for (let n = 0; n < max_sparks; n++) { let spark = { vx: Math.random() * 5 + .5, vy: Math.random() * 5 + .5, weight: Math.random() * .3 + .03, red: Math.floor(Math.random() * 2), green: Math.floor(Math.random() * 2), blue: Math.floor(Math.random() * 2) }; if (Math.random() > .5) spark.vx = -spark.vx; if (Math.random() > .5) spark.vy = -spark.vy; firework.sparks.push(spark); } fireworks.push(firework); resetFirework(firework); } window.requestAnimationFrame(explode); function resetFirework(firework) { firework.x = Math.floor(Math.random() * canvas.width); firework.y = canvas.height; firework.age = 0; firework.phase = 'fly'; } function explode() { context.clearRect(0, 0, canvas.width, canvas.height); fireworks.forEach((firework,index) => { if (firework.phase == 'explode') { firework.sparks.forEach((spark) => { for (let i = 0; i < 10; i++) { let trailAge = firework.age + i; let x = firework.x + spark.vx * trailAge; let y = firework.y + spark.vy * trailAge + spark.weight * trailAge * spark.weight * trailAge; let fade = i * 20 - firework.age * 2; let r = Math.floor(spark.red * fade); let g = Math.floor(spark.green * fade); let b = Math.floor(spark.blue * fade); context.beginPath(); context.fillStyle = 'rgba(' + r + ',' + g + ',' + b + ',1)'; context.rect(x, y, 4, 4); context.fill(); } }); firework.age++; if (firework.age > 100 && Math.random() < .05) { resetFirework(firework); } } else { firework.y = firework.y - 10; for (let spark = 0; spark < 15; spark++) { context.beginPath(); context.fillStyle = 'rgba(' + index * 50 + ',' + spark * 17 + ',0,1)'; context.rect(firework.x + Math.random() * spark - spark / 2, firework.y + spark * 4, 4, 4); context.fill(); } if (Math.random() < .001 || firework.y < 200) firework.phase = 'explode'; } }); context.font = "100px Bebas Neue"; context.fillStyle = "white"; context.textAlign = "center"; context.fillText("Happy new year!", canvas.width/2, canvas.height/3); context.font = "50px Bebas Neue"; context.fillText("from: spiderscript", canvas.width/2, canvas.height/1.7); context.fillText("to: jq22", canvas.width/2, canvas.height/1.5); window.requestAnimationFrame(explode); }
粒子
时间
文字
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号