Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
html { height: 100%; } body { height: 100%; margin: 0; padding: 0; background-color: black; }
JavaScript
var elements = 1000; // more the merrier var shiftmod = 1/6; // modifier for the x&y distance between each element: DEFAULT=1 var angle = 37; // degree to rotate the canvas between each element var scale = 5; // number of elements that would fit in the available height var colorstep = 0.75; // how quickly to adjust the color each frame var coloralpha = 0.50; // alpha to render elements in var colorcap = 255; // maximum color brightness var rotation = 1/10; // how much to rotate the canvas each frame var clearScreenAlpha = 0.90; // alpha value for the screen erase each frame var zoom = 1.50; // zoom level var triheight = 0.10; // modifier for the triangle height (lower is shorter) //////////////////// function start() { resize(); init(); tick(); } var colors = new Array(elements); var increments = new Array(elements); var size; var shift; function init() { var targetheight = canvas.height*zoom; shift = targetheight/elements*shiftmod; size = Math.max(1, targetheight/scale); for( var i = 0; i < elements; i++ ) { increments[i] = 0; colors[i] = Math.round(colorcap - colorcap*i/elements); } } var framesRendered = 0; function draw() { var canvas = document.getElementById("canvas"); if (canvas.getContext) { var context = canvas.getContext("2d"); context.setTransform(1, 0, 0, 1, 0, 0); clearCanvas(context); // set the origin context.translate(canvas.width/2, canvas.height/2); // rotate the canvas based on the frame context.rotate(2 * Math.PI/360 *framesRendered*rotation); // draw them all for( var i = 0; i < elements; i++ ) { if( getRandom(1, 5) == 1 ) { if( increments[i] !== 0 ) increments[i] = 0; else increments[i] = getRandom(-1, 1) * colorstep; } colors[i] += increments[i]; if( colors[i] < 0 ) { colors[i] = 0; increments[i] = colorstep; } else if( colors[i] > colorcap ) { colors[i] = colorcap; increments[i] = -colorstep; } context.fillStyle = "rgba(" + Math.floor(colors[i]) + "," + Math.floor(colors[i]) + "," + "0, " + coloralpha + ")"; context.rotate(2 * Math.PI/360 * angle); context.beginPath(); context.moveTo(i*shift - size/2, size*triheight + i*shift); context.lineTo(i*shift, i*shift); context.lineTo(i*shift + size/2, size*triheight + i*shift); context.closePath(); context.fill(); } framesRendered++; } } function tick() { // draw a frame draw(); // trigger the timer for the next frame... requestAnimFrame(tick); } function clearCanvas(context) { context.fillStyle = "rgba(0, 0, 0, " + clearScreenAlpha + " )"; context.fillRect (0, 0, canvas.width, canvas.height); } window.requestAnimFrame = (function() { return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) { window.setTimeout(callback, 1000 / 60); }; })(); // mafs function getRandom (min, max) { return Math.round(Math.random() * (max - min) + min); } function resize() { var canvas = document.getElementById("canvas"); if (canvas.getContext) { canvas.width = parseInt(getComputedStyle(document.body).width) - 4; canvas.height = parseInt(getComputedStyle(document.body).height) - 4; } } start();
粒子
时间
文字
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号