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 相关文章推荐
Js 刷新框架页的代码
Apr 13 Javascript
用表格输出1-1000之间的数字实现代码(附特效)
Apr 21 Javascript
jquery实现textarea 高度自适应
Mar 11 Javascript
jquery通过closest选择器修改上级元素的方法
Mar 17 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
Mar 18 Javascript
jquery使用经验小结
May 20 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
Jun 21 Javascript
JavaScript无阻塞加载和defer、async详解
Feb 26 Javascript
AngularJS 教程及实例代码
Oct 23 Javascript
详解iframe跨域的几种常用方法(小结)
Apr 29 Javascript
VUE实现移动端列表筛选功能
Aug 23 Javascript
vue video和vue-video-player实现视频铺满教程
Oct 30 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生成UTF8文件的方法
2010/05/15 PHP
8个必备的PHP功能实例代码
2013/10/27 PHP
JSON.stringify 语法实例讲解
2012/03/14 Javascript
jquery动态添加删除div 具体实现
2013/07/20 Javascript
js加载之使用DOM方法动态加载Javascript文件
2013/11/08 Javascript
js获取当前页面的url网址信息
2014/06/12 Javascript
技术男用来对妹子表白的百度首页
2014/07/23 Javascript
JavaScript参数个数可变的函数举例说明
2014/10/10 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
2016/08/02 Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
2016/09/09 Javascript
JavaScript中object和Object的区别(详解)
2017/02/27 Javascript
vue如何实现observer和watcher源码解析
2017/03/09 Javascript
详解Vue方法与事件
2017/03/09 Javascript
Nodejs调用WebService的示例代码
2017/09/29 NodeJs
基于Vue实现图书管理功能
2017/10/17 Javascript
javascript+css3开发打气球小游戏完整代码
2017/11/28 Javascript
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
详细分析Node.js 模块系统
2020/06/28 Javascript
深入理解 ES6中的 Reflect用法
2020/07/18 Javascript
python os.path模块常用方法实例详解
2018/09/16 Python
给大家整理了19个pythonic的编程习惯(小结)
2019/09/25 Python
Python标准库itertools的使用方法
2020/01/17 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
越南母婴用品购物网站:Kids Plaza
2020/04/09 全球购物
安全教育心得体会
2013/12/29 职场文书
电子商务网站的创业计划书
2014/01/05 职场文书
本科生职业生涯规划书范文
2014/01/21 职场文书
企业消防安全制度
2014/02/02 职场文书
葬礼司仪主持词
2014/03/31 职场文书
政协会议宣传标语
2014/10/09 职场文书
大一新生检讨书
2014/10/29 职场文书
2014年保洁工作总结
2014/11/24 职场文书
2015年新教师工作总结
2015/04/28 职场文书
Redis实现一个账号只能登录一个设备
2022/04/19 Redis