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下查找父节点的简单方法
Aug 13 Javascript
如何使用jquery动态加载js,css文件实现代码
Apr 03 Javascript
为Javascript中的String对象添加去除左右空格的方法(示例代码)
Nov 30 Javascript
详解JavaScript数组和字符串中去除重复值的方法
Mar 07 Javascript
Angular.JS内置服务$http对数据库的增删改使用教程
May 07 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
Jun 15 Javascript
Bootstrap Table 在指定列中添加下拉框控件并获取所选值
Jul 31 Javascript
基于vue 实现token验证的实例代码
Dec 14 Javascript
详解如何制作并发布一个vue的组件的npm包
Nov 10 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
Sep 26 Javascript
Vue解析带html标签的字符串为dom的实例
Nov 13 Javascript
nuxt+axios实现打包后动态修改请求地址的方法
Apr 22 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的面试题集
2006/11/19 PHP
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
php debug 安装技巧
2011/04/30 PHP
利用PHP扩展vld查看PHP opcode操作步骤
2013/03/04 PHP
PHP四舍五入、取整、round函数使用示例
2015/02/06 PHP
php实现倒计时效果
2015/12/19 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
PHP生成加减算法方式的验证码实例
2018/03/12 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
JS获取月的最后一天与JS得到一个月份最大天数的实例代码
2013/12/16 Javascript
JS去掉第一个字符和最后一个字符的实现代码
2014/02/20 Javascript
JS中类或对象的定义说明
2014/03/10 Javascript
常见的jQuery选择器汇总
2014/11/24 Javascript
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
2015/03/13 Javascript
JS实现为排序好的字符串找出重复行的方法
2016/03/02 Javascript
JavaScript获取服务器时间的方法详解
2016/12/11 Javascript
微信小程序ibeacon三点定位详解
2018/10/31 Javascript
js中事件对象和事件委托的介绍
2019/01/21 Javascript
Vue-cli3多页面配置详解
2020/03/22 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
2020/10/22 Javascript
[15:20]DOTA2亚洲邀请赛总决赛开幕式表演:羽泉献唱
2017/04/05 DOTA
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
详解python编译器和解释器的区别
2019/06/24 Python
python安装scipy的方法步骤
2019/06/26 Python
Python with语句用法原理详解
2020/07/03 Python
Python urllib3软件包的使用说明
2020/11/18 Python
军训自我鉴定
2013/12/14 职场文书
党员违纪检讨书
2014/02/18 职场文书
我爱我家教学反思
2014/05/01 职场文书
先进事迹材料范文
2014/12/29 职场文书
美德少年主要事迹材料
2015/11/04 职场文书
2016天猫双十一广告语
2016/01/28 职场文书
2016年保险公众宣传日活动总结
2016/04/05 职场文书
mysql数据库入门第一步之创建表
2021/05/14 MySQL