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 相关文章推荐
一个基于jQuery的树型插件(OrangeTree)使用介绍
May 03 Javascript
js判断当页面无法回退时关闭网页否则就history.go(-1)
Aug 07 Javascript
node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用
Nov 04 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
Mar 24 Javascript
创建简单的node服务器实例(分享)
Jun 23 Javascript
js实现图片轮播效果学习笔记
Jul 26 Javascript
vue iView 上传组件之手动上传功能
Mar 16 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
Aug 27 Javascript
微信小程序中上传图片并进行压缩的实现代码
Aug 28 Javascript
微信小程序日历效果
Dec 29 Javascript
记一次vue-webpack项目优化实践详解
Feb 17 Javascript
你不知道的SpringBoot与Vue部署解决方案
Nov 09 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 7中不要做的10件事
2016/09/18 PHP
php读取和保存base64编码的图片内容
2017/04/22 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
jQuery技巧大放送 学习jquery的朋友可以看下
2009/10/14 Javascript
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
分享一个自己动手写的jQuery分页插件
2014/08/28 Javascript
jQuery中:header选择器用法实例
2014/12/29 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
JS实现判断碰撞的方法
2015/02/11 Javascript
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
javascript实现动态表头及表列的展现方法
2015/07/14 Javascript
JavaScript实现为input与textarea自定义hover,focus效果的方法
2015/08/21 Javascript
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
2016/06/23 Javascript
js窗口震动小程序分享
2016/11/28 Javascript
js实现滑动到页面底部自动加载更多功能
2017/02/15 Javascript
JavaScript利用fetch实现异步请求的方法实例
2017/07/26 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
2020/07/19 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
vue + el-form 实现的多层循环表单验证
2020/11/25 Vue.js
[02:57]2014DOTA2国际邀请赛 选手辛苦解说更辛苦
2014/07/10 DOTA
python实现折半查找和归并排序算法
2017/04/14 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
Java及python正则表达式详解
2017/12/27 Python
python自动发送邮件脚本
2018/06/20 Python
Python3 Post登录并且保存cookie登录其他页面的方法
2018/12/28 Python
详解如何在Apache中运行Python WSGI应用
2019/01/02 Python
Python基于stuck实现scoket文件传输
2020/04/02 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
css3实现波纹特效、H5实现动态波浪效果
2018/01/31 HTML / CSS
巧克力领导品牌瑞士莲美国官网:Lindt Chocolate美国
2016/08/25 全球购物
小学雷锋月活动总结
2014/07/03 职场文书
化学教育专业自荐信
2014/07/04 职场文书
老干部工作汇报材料
2014/10/28 职场文书
《田忌赛马》教学反思
2016/02/19 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
python的netCDF4批量处理NC格式文件的操作方法
2022/03/21 Python