当前位置:书生博客 > 而已集 > 原创干货 > 正文

作者:书生

懂得了这世界上没有绝对的正确,能够接受别人有不同的三观和其衍生出来的思考方式。

手机扫码查看

如何给网页添加一个基于canvas绘制的背景效果

效果演示地址:http://friendgift.com.cn/canvas.html
如何给网页添加一个基于canvas绘制的背景效果
首先介绍一下特点:

1、不依赖任何框架或者内库,如不依赖 jQuery;
2、使用原生的 javascript,只有1.6 kb,如果开启 gzip,可以更小;
3、使用外链非常容易实现,配置简单,即使你不是web开发者,也能简单搞定。

代码如下:

<script>
/*
* 背景效果
*/
!function(){function n(n,e,t){return n.getAttribute(e)||t}function e(n){return 
document.getElementsByTagName(n)}function t(){var t=e("script"),o=t.length,i=t[o-
1];return{l:o,z:n(i,"zIndex",-1),o:n(i,"opacity",.5),c:n(i,"color","0,0,0"),n:n(i,"count",99)}}function 
o()
{a=m.width=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,c=m.heig
ht=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}function i()
{r.clearRect(0,0,a,c);var n,e,t,o,m,l;s.forEach(function(i,x){for(i.x+=i.xa,i.y+=i.ya,i.xa*=i.x>a||i.x
<0?-1:1,i.ya*=i.y>c||i.y<0?-1:1,r.fillRect(i.x-.5,i.y-.5,1,1),e=x+1;e<u.length;e++)n=u[e],null!==n.x&&nul
l!==n.y&&(o=i.x-n.x,m=i.y-n.y,l=o*o+m*m,l<n.max&&(n===y&&l>=n.max/2&&(i.x-=.03*o,i.y-=.03*m),t=(n.m
ax-l)/n.max,r.beginPath(),r.lineWidth=t/2,r.strokeStyle="rgba("+d.c+","+(t+.2)+")",r.moveTo(i.x,i.y),r.li
neTo(n.x,n.y),r.stroke()))}),x(i)}var a,c,u,m=document.createElement("canvas"),d=t(),l="c_n"+d.l,r=m.g
etContext("2d"),x=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestA
nimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(n){window.setTim
eout(n,1e3/45)},w=Math.random,y={x:null,y:null,max:2e4};m.id=l,m.style.cssText="position:fixed;top:0;le
ft:0;z-index:"+d.z+";opacity:"+d.o,e("body")[0].appendChild(m),o(),window.onresize=o,window.onmousemove
=function(n){n=n||window.event,y.x=n.clientX,y.y=n.clientY},window.onmouseout=function(){y.x=null,y.y=
null};for(var s=[],f=0;d.n>f;f++){var h=w()*a,g=w()*c,v=2*w()-1,p=2*w()-1;s.push({x:h,y:g,xa:v,ya:p,max
:6e3})}u=s.concat([y]),setTimeout(function(){i()},100)}();
</script>

然后就是使用方法,分为两种:

第一种就是直接在当前页面中引用

直接把js效果写在<script></script>标签中即可(以上代码已经加了<script>标签
这部分内容可以放在页面中的任何位置。但是一般放在页面的底部。
这样的话便于页面加载完成再执行js文件。

第二种就是引入外部js

这个方法需要单独建立一个css文件,然后直接把
<script type=”text/javascript” src=”路径”></script>插入<body></body>标签之中就可以
这样的话可以把所有的样式都放到这里面,易于维护,并且适合多个页面使用。

最后有什么不懂的欢迎私信我!!~~

博主有话说:

作者:书生, 转载或复制请以 超链接形式 并注明出处 书生博客
原文地址:《如何给网页添加一个基于canvas绘制的背景效果》 发布于2018-06-08

分享到:
赞(3) 打赏

评论 抢沙发

1 + 7 =

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

欢迎来访本博客!

本博客分享各种活动线报,实用代码等一些比较实用的资源,感兴趣的话可以收藏一下哦~

了解一下

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录