效果如下
实现代码如下:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>线性渐变动画</title>
<style>
body{
width:100%;
overflow:hidden;
margin:0;
background: hsla(0,0%,0%,1);
}
</style>
</head>
<body>
<canvas id="canvas"></canvas>
<script>
var c = document.getElementById('canvas'),
$ = c.getContext('2d'),
w = c.width = window.innerWidth, //设置 Canvas 宽度(全屏)
h = c.height = window.innerHeight, //设置 Canvas 高度(全屏)
t = 0, num = 450, //num = 450 绘制数量
u = 0, _u, //线性渐变的颜色值
s, a, b,
x, y, _x, _y,
_t = 1 / 100;
//控制摆动速度
var anim = function() {
$.globalCompositeOperation = 'source-over'; //默认,在目标图像上显示源图像
$.fillStyle = 'hsla(0, 0%, 0%, .75)'; //填充颜色
$.fillRect(0, 0, w, h); //绘制“已填色”的矩形
$.globalCompositeOperation = 'lighter'; //显示源图像 + 目标图像
for (var i = 0; i < 2; i++) {
x = 0; _u = (u / 4)+i;
$.beginPath();
//循环绘制个数(num),正玄 Math.sin(弧度),余弦 Math.cos(弧度)
for (var j = 0; j < num; j++) {
x -= .72 * Math.sin(4);
y = x * Math.sin(i + 3.0 * t + x / 20) / 2;
_x = x * Math.cos(b) - y * Math.sin(b);
_y = x * Math.sin(b) + y * Math.cos(b);
b = (j * 3) * Math.PI / 6.8;
$.lineWidth = .18; //线条宽度
$.arc(w / 2 - _x, h / 2 -_y, .5, 0, 2 * Math.PI); //画圆(半径0.5)
}
//设置线性渐变
var g = $.createLinearGradient(w / 2 + _x, h / 2 + _y, 0, w / 2 + _x, h / 2 + _y);
g.addColorStop(0.0, 'hsla('+ u +',85%,50%,1)');
g.addColorStop(0.5, 'hsla('+ _u +',85%,40%,1)');
g.addColorStop(1, 'hsla(0,0%,5%,1)');
$.strokeStyle = g; //线条颜色为 g(线性渐变)
$.stroke();
}
t += _t; //摆动速度会不断增加
u -= .2; //改变颜色值
window.requestAnimationFrame(anim); //绘制动画 anim
};
anim();
//监听,当浏览器宽度和高度改变时,改变 Canvas 的宽度和高度
window.addEventListener('resize', function() {
c.width = w = window.innerWidth;
c.height = h = window.innerHeight;
}, false);
</script>
</body>
</html>
本博客转载于:

因为我试了,觉得听炫酷的,才写到这的!

js实现螺旋纹理特效相关推荐

  1. three.js 实现管道流动特效

    three.js 实现管道流动特效 想在系统里实现在管道上指示水或液体的流向,在网上查阅了很多资料,也是经历的比较多的麻烦.网上部分代码不可用,还有一部分代码使用定时器实现,流动效果比较卡段这里给大家 ...

  2. php 让字体闪烁,js实现文字闪烁特效的方法

    本文实例讲述了基于jquery实现省市联动特效的代码,分享给大家供大家参考,具体如下: 运行效果图: 实现原理:使用style对象来设置css属性,结合定时器就可以实现js实现文字闪烁特效. 具体代码 ...

  3. js,jquery,css,html5特效

    js,jquery,css,html5特效 包含js,jquery,css,html5特效,源代码 本文地址:http://www.cnblogs.com/Jeremy2001/p/6089343.h ...

  4. html酷炫电子时钟效果,纯js实现电子时钟特效

    这是一款使用纯js实现电子时钟特效.该电子时钟可以显示时间,星期几,以及是上午还是下午.它使用简单,非常容易集成到项目中. 使用方法 在页面中引入电子时钟的样式文件main.css. HTML结构 该 ...

  5. vue 3 + mo.js 实现点赞粒子特效【实战】

    ue 3.2 + js 实现点赞粒子特效 创建一个项目 一.显示页面 1.新建页面 2.写部分显示代码 3.导入文件 4.将其他的注释掉 二.下载点赞图片 1.打开阿里云矢量库 2.复制SVG代码 3 ...

  6. 原生JS实现球面展示特效

    分享一个由原生JS实现的球面展示效果,效果如下: 实现代码如下: <!DOCTYPE html> <html><head><meta http-equiv=& ...

  7. vue js樱花飘落背景特效

    vue js樱花飘落背景特效 先上效果图 下载js文件:链接 或直接保存源码 var stop, staticx; var img = new Image(); img.src = "dat ...

  8. 18款js和jquery文字特效代码分享

    18款js和jquery文字特效代码分享 jQCloud标签云插件_热门城市文字标签云代码 js 3d标签云特效关键词文字球状标签云代码 原生JS鼠标悬停文字球状放大显示效果代码 原生js文字动画圆形 ...

  9. 原生js开灯关灯特效

    今天练习js写的开关灯特效 老开心了 老有成就感了 嘻嘻嘻~~~ ps:白色效果不明显,我又改成粉色了 <!DOCTYPE html> <html lang="en&quo ...

最新文章

  1. DayDayUp:《P2P行业最高端的玩法》源于网友网络收集
  2. 六十、走进位运算的大门
  3. 计算机基础ABCDEF,计算机应用基础-在线作业ABCDEF.docx
  4. AIX常见日志查看位置
  5. Mina集成Spring --- 在配置文件中配置sessionconfig
  6. leetcode86. 分隔链表
  7. working space和working set关系
  8. 关于ElasticSearch整合SpringBoot
  9. 常用的排序算法总结(三)
  10. 'React' must be in scope when using JSX react/react-in-jsx-scope报错:
  11. 【对讲机的那点事】安装中继台天馈系统如何制作同轴电缆BNC接头?
  12. MacBook 键盘出现故障,如何修复?
  13. MFC操作Access数据库
  14. 大数据Spark(五十二):Structured Streaming 事件时间窗口分析
  15. Unity粒子特效的缩放与加(减)速
  16. mac android apk反编译
  17. iOS开发学习之大牛们的博客
  18. Unity3D-摄像机详解
  19. Sass 变量 $var、@import与Partials
  20. 计算机专业英语职高 试卷,2020年河南高职单招英语样卷及答案分享

热门文章

  1. 使用卷积神经网络进行实时面部表情检测
  2. Python实现多线程批量下载昵图网的清晰预览图
  3. LeetCode 981. 基于时间的键值存储 / 274. H 指数 / 275. H 指数 II
  4. 将数组倒置java_java数组元素倒置
  5. Win8.1RTM Pro电话激活
  6. 拥有着全球最大的拍客网络的短视频领头羊:梨视频的云上实践
  7. SSL2895 购买干草
  8. webbench源码学习--命令行选项解析函数getopt和getopt_long函数
  9. 生物医学文献知识图创建的关系提取
  10. 有一个四分钟的沙漏,一个七分钟的沙漏,怎样测试九分钟的时间