分享利用canvas实现知乎登录页的实例代码
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了分享利用canvas实现知乎登录页的实例代码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3860字,纯文字阅读大概需要6分钟。
内容图文
![分享利用canvas实现知乎登录页的实例代码](/upload/InfoBanner/zyjiaocheng/389/ba59ed6d44c245709c067c60cddeeba6.jpg)
前言
打开知乎的登录页,就可以看到其背景有一个动效,看起来好像蛮不错的样子:
这个效果使用canvas是不难实现的,接下来就一步一步地讲解并实现这个效果。
分析
在动工之前先分析这个效果到底是如何运动的。首先要理解的是虽然看起来好像所有线和圆都在运动,但实际上只有圆才是在运动的,而线只不过是把满足一定条件的任意两个圆连接在一起。那么接下来就分析圆是怎么运动的,从效果看,每个圆都是在做匀速直线运动,而且运动方向不一,通过物理相关知识可以得知,每一个圆在水平方向和垂直方向都有一个速度。最后是当圆运动出画布任一边界的时候,这个圆会从出边界的这条边的对边再次进入画布。把这三个关键点理解清楚了就清晰很多了。
实践
先创建一个canvas画布:
// 这里就简单地设置下背景色 <body style="background:#f7fafc;"> <canvas id="canvas" style="width: 100%; height: 100%;"></canvas> </body>
接着先获取canvas的上下文环境并设置一些共用的属性
接下来绘制圆,那么绘制圆需要圆的圆心坐标,半径,水平方向的速度,垂直方向的速度,并且这些信息要满足一定的条件,通过一个函数来创建:
然后根据自己的情况选择需要绘制多少个圆,这里我假设有20个,看起来舒服一点:
现在圆的信息都有了,下一步就是绘制每一帧的圆和线,创建一个render函数,然后在函数内先绘制所有的圆出来:
接着要遍历每两个圆的圆心之间的距离是否小于某个临界值(比如500),满足则将这两个圆的圆心连接起来:
这里的 distance 函数就是计算两点之间的距离:
还有一步就是判断圆是否超出了边界值,若满足条件则从对边再次进来:
当然如果想简单点,只要圆超出就移除并重新生成一个圆即可:
这样每一帧绘制的细节就完成了,最后一步就是让圆都运动起来:
到此,整个效果就出来了。当然这里面有很多细节可以自己琢磨琢磨,让这个效果变得更加细腻多彩。希望对新手有所帮助。
【相关推荐】
1. 免费h5在线视频教程
2. HTML5 完整版手册
3. php.cn原创html5视频教程
以上就是分享利用canvas实现知乎登录页的实例代码的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的分享利用canvas实现知乎登录页的实例代码全部内容,希望文章能够帮你解决分享利用canvas实现知乎登录页的实例代码所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。