Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
Canvas not supported.
css
* { font-family: 'arial black', Helvetica, verdana, monospace, sans-serif; letter-spacing: 0.2rem; margin: 0; padding: 0; color: #FFF; overflow: hidden; } body { position: relative; } canvas#canvas { display: block; background: #FBD2D7; }
JavaScript
(function () { 'use strict'; window.addEventListener('load', function () { var canvas = document.getElementById('canvas'); if (!canvas || !canvas.getContext) { return false; } /******************** Random Number ********************/ function rand(min, max) { return Math.floor(Math.random() * (max - min + 1) + min); } /******************** Var ********************/ var ctx = canvas.getContext('2d'); var X = canvas.width = window.innerWidth; var Y = canvas.height = window.innerHeight; var shapeNum = 1; var shapes = []; var style = { black: 'black', white: 'white', lineWidth: 4, }; var colors = [ 'rgb(168, 230, 207)', 'rgb(253, 213, 182)', 'rgb(255, 171, 167)', 'rgb(255, 141, 149)' ]; /******************** Animation ********************/ window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || function(cb) { setTimeout(cb, 17); }; /******************** Shape ********************/ function Shape(ctx, x, y, r, i) { this.ctx = ctx; this.init(x, y, r, i); } Shape.prototype.init = function(x, y, r, i) { this.x = x; this.y = y; this.i = i; this.r = 1; this.ri = r; this.lw = 2; this.a = rand(0, 360); this.rad = this.a * Math.PI / 180; this.a1 = rand(0, 360); this.rad1 = this.a1 * Math.PI / 180; this.ga = Math.random(); this.c = colors[rand(0, colors.length - 1)]; }; Shape.prototype.draw = function() { var ctx = this.ctx; ctx.save(); ctx.strokeStyle = style.white; ctx.fillStyle = this.c; ctx.lineWidth = this.lw; ctx.translate(this.x, this.y); ctx.rotate(this.rad1); ctx.translate(-this.x, -this.y); for (var i = 0; i < 5; i++) { ctx.translate(this.x, this.y); ctx.rotate(72 * Math.PI / 180); ctx.translate(-this.x, -this.y); ctx.beginPath(); ctx.moveTo(this.x, this.y); ctx.quadraticCurveTo(this.x - this.r / 2, this.y - this.r / 2, this.x - this.r / 4, this.y - this.r); ctx.lineTo(this.x, this.y - this.r / 1.2); ctx.lineTo(this.x + this.r / 4, this.y - this.r); ctx.quadraticCurveTo(this.x + this.r / 2, this.y - this.r / 2, this.x, this.y); ctx.closePath(); ctx.fill(); ctx.stroke(); } ctx.restore(); }; Shape.prototype.updateParams = function() { if (this.r < this.ri) { this.r += 0.5; } this.a += 1; this.rad = this.a * Math.PI / 180; }; Shape.prototype.render = function() { this.updateParams(); this.draw(); addShape(); }; // Add Shape function addShape() { var overlap = false; var setX = rand(0, X); var setY = rand(0, Y); var setR; Math.random() < 0.3 ? setR = rand(50, 70) : setR = rand(30, 50); for (var i = 0; i < shapes.length; i++) { var x = Math.abs(setX - shapes[i].x); var y = Math.abs(setY - shapes[i].y); var d = x * x + y * y; var dist = Math.floor(Math.sqrt(d)); if (dist < setR + shapes[i].ri - 10) { overlap = true; break; } } if (overlap === true) { return; } var s = new Shape(ctx, setX, setY, setR, shapes.length); shapes.push(s); } for (var i = 0; i < shapeNum; i++) { var s = new Shape(ctx, rand(0, X), rand(0, Y), rand(50, 70), i); shapes.push(s); } /******************** Render ********************/ function render() { ctx.clearRect(0, 0, X, Y); for (var i = 0; i < shapes.length; i++) { shapes[i].render(i); } requestAnimationFrame(render); } render(); /******************** Event ********************/ function onResize() { X = canvas.width = window.innerWidth; Y = canvas.height = window.innerHeight; shapes = []; for (var i = 0; i < shapeNum; i++) { var s = new Shape(ctx, rand(0, X), rand(0, Y), rand(50, 70), i); shapes.push(s); } } window.addEventListener('resize', function() { onResize(); }); }); })();
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>樱花与颜色-纯JavaScript-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号