Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
html, body { height: 100%; overflow: hidden; } canvas { display: block; }
JavaScript
'use strict'; var gui = new dat.GUI(), guiSet = { frequency: 10, reset: function reset() { $.reset(); } }; gui.add(guiSet, 'frequency').min(10).max(50); gui.add(guiSet, 'reset'); // var $ = {}; /*======================================== Utility ========================================*/ $.PI = Math.PI; $.TAU = $.PI * 2; $.rand = function (min, max) { if (!max) { var max = min; min = 0; } return Math.random() * (max - min) + min; }; /*======================================== Initialize ========================================*/ $.init = function () { $.c = document.querySelector('canvas'); $.ctx = $.c.getContext('2d'); $.simplex = new SimplexNoise(); $.events(); $.reset(); $.loop(); }; /*======================================== Reset ========================================*/ $.reset = function () { $.w = window.innerWidth; $.h = window.innerHeight; $.cx = $.w / 2; $.cy = $.h / 2; $.c.width = $.w; $.c.height = $.h; $.count = Math.floor($.w / guiSet.frequency); // Wave frequency $.xoff = 0; $.xinc = 0.05; $.yoff = 0; $.yinc = 0.01; // Speed $.goff = 0; $.ginc = 0; $.y = $.h * 0.65; $.length = $.w + 0; $.amp = 15; // Wave height }; /*======================================== Event ========================================*/ $.events = function () { window.addEventListener('resize', $.reset.bind(undefined)); }; /*======================================== Wave ========================================*/ $.wave = function (color, amp, height, comp) { $.ctx.beginPath(); var sway = $.simplex.noise2D($.goff, 0) * amp; for (var i = 0; i <= $.count; i++) { $.xoff += $.xinc; var x = $.cx - $.length / 2 + $.length / $.count * i; var y = height + $.simplex.noise2D($.xoff, $.yoff) * amp + sway; $.ctx[i === 0 ? 'moveTo' : 'lineTo'](x, y); } $.ctx.lineTo($.w, -$.h); // -$.h - Vertically reflection $.ctx.lineTo(0, -$.h); // -$.h - Vertically reflection $.ctx.closePath(); $.ctx.fillStyle = color; if (comp) { $.ctx.globalCompositeOperation = comp; } $.ctx.fill(); }; /*======================================== Loop ========================================*/ $.loop = function () { requestAnimationFrame($.loop); $.ctx.clearRect(0, 0, $.w, $.h); $.xoff = 0; $.ctx.fillStyle = "#182645"; $.ctx.fillRect(0, 0, $.w, $.h); $.wave("#fb0000", 20, $.h * .5, "screen"); $.wave("#00ff8e", 20, $.h * .5, "screen"); $.wave("#6F33FF", 20, $.h * .5, "screen"); $.ctx.fillStyle = "#f1dfdd"; $.ctx.globalCompositeOperation = "darken"; $.ctx.fillRect(0, 0, $.w, $.h); $.yoff += $.yinc; $.goff += $.ginc; }; /*======================================== Start ========================================*/ $.init();
粒子
时间
文字
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号