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 vvorld 在线加密破解方法
Nov 13 Javascript
jQuery 图像裁剪插件Jcrop的简单使用
May 22 Javascript
Prototype 工具函数 学习
Jul 23 Javascript
JavaScript 放大镜 移动镜片效果代码
May 09 Javascript
JS之Date对象和获取系统当前时间详解
Jan 13 Javascript
javascript动画算法实例分析
Jul 31 Javascript
jQuery插件开发汇总
May 15 Javascript
JavaScript中setTimeout的那些事儿
Nov 14 Javascript
vue.js指令v-model实现方法
Dec 05 Javascript
jQuery Password Validation密码验证
Dec 30 Javascript
微信小程序实现刷脸登录
May 25 Javascript
JavaScript继承与多继承实例分析
May 26 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
星际争霸任务指南——虫族
2020/03/04 星际争霸
for循环连续求和、九九乘法表代码
2012/02/20 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
JS 统计时间
2021/03/09 Javascript
Code:findPosX 和 findPosY
2006/12/20 Javascript
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
HTML的select控件美化
2017/03/27 Javascript
AngularJS封装$http.post()实例详解
2017/05/06 Javascript
详解a++和++a的区别
2017/08/30 Javascript
NodeJS爬虫实例之糗事百科
2017/12/14 NodeJs
JS实现可用滑块滑动的缓动图代码
2019/09/01 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
vue使用i18n实现国际化的方法详解
2019/09/05 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
举例详解Python中的split()函数的使用方法
2015/04/07 Python
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
python3+PyQt5+Qt Designer实现扩展对话框
2018/04/20 Python
深入浅析Python中list的复制及深拷贝与浅拷贝
2018/09/03 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
深入了解Python enumerate和zip
2020/07/16 Python
UGG雪地靴德国官网:UGG德国
2016/11/19 全球购物
英国家居用品和家居装饰品购物网站:Cox & Cox
2019/08/25 全球购物
一份Java笔试题
2012/02/21 面试题
幼儿园大班开学教师寄语
2014/04/03 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
教师群众路线教育实践活动学习笔记
2014/11/05 职场文书
最感人的道歉情书
2015/05/12 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
JavaScript实现酷炫的鼠标拖尾特效
2022/02/18 Javascript
spring boot实现文件上传
2022/08/14 Java/Android
MySQL新手入门进阶语句汇总
2022/09/23 MySQL