Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
html, body, canvas { width: 100%; height: 100%; overflow: hidden; content-zooming: none; }
JavaScript
let af; const numLasers = 250; const tail = 200; const canvas = document.querySelector("canvas"); const ctx = canvas.getContext("2d"); const createLasers = n => { const lasers = []; for (let i = 0; i < n; ++i) { lasers.push({ x: Math.random() * canvas.width, y: Math.random() * canvas.height, s: Math.random() * 2 + 1 }); } return lasers; }; const renderLaser = l => { const grad = ctx.createLinearGradient(l.x, l.y, l.x, l.y + tail); const a = 1 - (canvas.height - l.y) / canvas.height * 0.8; grad.addColorStop(0, `hsla(340,100%,100%,${a})`); grad.addColorStop(1, "hsla(340,100%,50%,0)"); ctx.strokeStyle = grad; ctx.beginPath(); ctx.moveTo(l.x, l.y); ctx.lineTo(l.x, l.y + tail); ctx.stroke(); }; const updateLaser = l => { l.y -= l.s; if (l.y < -tail) { l.y = canvas.height; } }; const render = lasers => { ctx.fillStyle = "hsl(261,43%,7%)"; ctx.fillRect(0, 0, canvas.width, canvas.height); for (let l of lasers) { renderLaser(l); updateLaser(l); } af = requestAnimationFrame(() => render(lasers)); }; const init = () => { cancelAnimationFrame(af); canvas.width = window.innerWidth; canvas.height = window.innerHeight; render(createLasers(numLasers)); }; window.onresize = init; init();
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>粉红色的激光-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号