js实现炫酷光感效果


Posted in Javascript onSeptember 05, 2020

本文实例为大家分享了js实现炫酷光感效果的具体代码,供大家参考,具体内容如下

js实现炫酷光感效果

首先写一个大盒子

<div class="main"></div>

然后给这个大盒子添加样式

* {
 margin: 0;
 padding: 0;
}

html,
body {
 height: 100%;
 overflow: hidden;
}

body {
 background: darkblue;
}

.main {
 width: 8px;
 height: 8px;
 position: absolute;
 left: 50%;
 top: 50%;
 transform: translate(-50%, -50%);
 perspective: 800px; /* 视角 */
}

在这个大盒子周围写一圈小盒子,我们用js来动态生成

var main = document.getElementsByClassName("main")[0];

for (var x = 0; x < 30; x++) {
 var i = document.createElement("i");
 main.appendChild(i);
}

给这些小盒子添加样式

.main i {
 width: 8px;
 height: 8px;
 border-radius: 50%;
 background: rgba(255, 255, 255, 0.5);
 box-shadow: 0 0 10px 0 white;
 position: absolute;
}
var is = document.getElementsByTagName("i");
for (var i = 0; i < is.length; i++) {
 is[i].style.transform = `rotate(${i * 12}deg) translateX(80px)`;
}

效果如下

js实现炫酷光感效果

然后为这些小球添加css动画

.main i {
 width: 8px;
 height: 8px;
 border-radius: 50%;
 background: rgba(255, 255, 255, 0.5);
 box-shadow: 0 0 10px 0 white;
 position: absolute;
 animation: run 3s ease-in-out infinite;
}

@keyframes run {
 0% {
 opacity: 0;
 }
 10% {
 opacity: 1;
 }
 100% {
 opacity: 1;
 transform: translate3d(0, 0, 560px);
 }
}

效果如下

js实现炫酷光感效果

我们发现这些小球都是同时做动画的,那么我现在不想让他们同时做动画怎么办呢~,对了,设置延迟

for (var i = 0; i < is.length; i++) {
 is[i].style.transform = `rotate(${i * 12}deg) translateX(80px)`;
 is[i].style.animationDelay = `${i * 0.05}s`;
}

炫光效果如下

js实现炫酷光感效果

还没完

现在是30个i,我们把它变成60个会怎么样呢

var main = document.getElementsByClassName("main")[0];

for (var x = 0; x < 60; x++) {
 var i = document.createElement("i");
 main.appendChild(i);
}

var is = document.getElementsByTagName("i");
for (var i = 0; i < is.length; i++) {
 is[i].style.transform = `rotate(${i * 12}deg) translateX(80px)`;
 is[i].style.animationDelay = `${i * 0.05}s`;
}

效果如下

js实现炫酷光感效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 日期对象Date扩展方法
May 30 Javascript
js 获取计算后的样式写法及注意事项
Feb 25 Javascript
javascript对下拉列表框(select)的操作实例讲解
Nov 29 Javascript
JavaScript构造函数详解
Dec 27 Javascript
简述Matlab中size()函数的用法
Mar 20 Javascript
vuejs动态组件给子组件传递数据的方法详解
Sep 09 Javascript
BootStrap Fileinput的使用教程
Dec 30 Javascript
详解JS函数stack size计算方法
Jun 18 Javascript
QQ跳转支付宝并自动领红包脚本(最新)
Jun 22 Javascript
详解Vue CLI 3.0脚手架如何mock数据
Nov 23 Javascript
layui 地区三级联动 form select 渲染的实例
Sep 27 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
Feb 16 Javascript
js实现搜索提示框效果
Sep 05 #Javascript
jQuery实现简单三级联动效果
Sep 05 #jQuery
javascript canvas实现简易时钟例子
Sep 05 #Javascript
vue中使用vue-pdf的方法详解
Sep 05 #Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
Sep 05 #Javascript
vue 将多个过滤器封装到一个文件中的代码详解
Sep 05 #Javascript
js实现可爱的气泡特效
Sep 05 #Javascript
You might like
PHP类与对象中的private访问控制的疑问
2012/11/01 PHP
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
php微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
discuz图片顺序混乱解决方案
2015/07/29 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
PHP基于SPL实现的迭代器模式示例
2018/04/22 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
一个JavaScript操作元素定位元素的实例
2014/10/29 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
Winform客户端向web地址传参接收参数的方法
2016/05/17 Javascript
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
JS实现移动端在线签协议功能
2019/08/22 Javascript
js实现登录拖拽窗口
2020/02/10 Javascript
jQuery实现动态加载瀑布流
2020/09/01 jQuery
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
使用python实现rsa算法代码
2016/02/17 Python
python 网络编程详解及简单实例
2017/04/25 Python
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
Python构建图像分类识别器的方法
2019/01/12 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
python使用turtle库绘制奥运五环
2020/02/24 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
2020/02/25 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
2020/12/16 Python
CSS3旋转——彩色扇子兼容firefox浏览器
2013/06/04 HTML / CSS
法英专业大学生职业生涯规划范文:衡外情,量己力!
2014/09/23 职场文书
2014年司法所工作总结
2014/11/22 职场文书
病危通知书样本
2015/04/17 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书
高中优秀作文(范文)
2019/08/15 职场文书
女人创业励志语录,句句蕴含能量,激发你的潜能
2019/08/20 职场文书
人生感悟经典句子
2019/08/20 职场文书
Canvas如何做个雪花屏版404的实现
2021/09/25 HTML / CSS
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记