Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
body { background: #000; overflow: hidden; } canvas { height: 100%; left: 0; position: absolute; top: 0; width: 100%; }
JavaScript
'use strict'; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var Scene = function () { function Scene() { var _this = this; _classCallCheck(this, Scene); this.PI = Math.PI; this.TAU = this.PI * 2; this.GOLDEN = (Math.sqrt(5) + 1) / 2; this.canvas = document.querySelector('canvas'); this.ctx = this.canvas.getContext('2d'); this.dpr = window.devicePixelRatio; this.reset(); window.addEventListener('resize', function () { return _this.reset(); }); this.loop(); } Scene.prototype.reset = function reset() { this.width = window.innerWidth; this.height = window.innerHeight; this.hwidth = this.width * 0.5; this.hheight = this.height * 0.5; this.canvas.width = this.width * this.dpr; this.canvas.height = this.height * this.dpr; this.ctx.scale(this.dpr, this.dpr); this.ctx.translate(~ ~this.hwidth, ~ ~this.hheight); this.ctx.globalCompositeOperation = 'lighter'; this.tick = 320; }; Scene.prototype.loop = function loop() { var _this2 = this; requestAnimationFrame(function () { return _this2.loop(); }); this.tick++; this.ctx.clearRect(-this.hwidth, -this.hheight, this.width, this.height); var count = 150; var angle = this.tick * -0.001; var amp = 0; for (var i = 0; i < count; i++) { angle += this.GOLDEN * this.TAU + Math.sin(this.tick * 0.03) * 0.001; amp += (i - count / 2) * 0.01 + Math.cos(this.tick * 0.015) * 1; var x = Math.cos(angle) * amp + Math.cos(this.tick * 0.0075) * (count - i) * 0.3; var y = Math.sin(angle) * amp + Math.sin(this.tick * 0.0075) * (count - i) * 0.3; var radius = 0.1 + i * 0.02; var scale = 0.1 + amp * 0.1; var hue = this.tick + angle / this.TAU * 0.4 + 60; var saturation = 90; var lightness = 60; var alpha = 0.7 + Math.cos(this.tick * 0.03 + i) * 0.3; this.ctx.save(); this.ctx.translate(x, y); this.ctx.rotate(angle); this.ctx.scale(scale, 1); this.ctx.rotate(this.PI * 0.25); this.ctx.fillStyle = 'hsla(' + hue + ', ' + saturation + '%, ' + lightness + '%, ' + alpha + ')'; this.ctx.fillRect(-radius, -radius, radius * 2, radius * 2); this.ctx.restore(); this.ctx.beginPath(); this.ctx.arc(x, y, radius * 12, 0, this.TAU); this.ctx.fillStyle = 'hsla(' + hue + ', ' + saturation + '%, ' + lightness + '%, ' + alpha * 0.05 + ')'; this.ctx.fill(); } }; return Scene; }(); var scene = new Scene();
粒子
时间
文字
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号