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 学习之二 属性 文本与值(text,val)
Nov 25 Javascript
JavaScript面向对象设计二 构造函数模式
Dec 20 Javascript
js实现目录定位正文示例
Nov 14 Javascript
JavaScript原型链示例分享
Jan 26 Javascript
基于javascript实现随机颜色变化效果
Jan 14 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
Aug 05 Javascript
JavaScript中常用的验证reg
Oct 13 Javascript
jQuery实现弹出窗口弹出div层的实例代码
Jan 09 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
Jun 30 Javascript
微信小程序实现搜索历史功能
Mar 26 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
Aug 02 jQuery
jquery弹窗时禁止body滚动条滚动的例子
Sep 21 jQuery
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/10/09 PHP
php+highchats生成动态统计图
2014/05/21 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
PHP文件上传处理案例分析
2016/10/15 PHP
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
img标签中onerror用法
2009/08/13 Javascript
IE6中使用position导致页面变形的解决方案(js代码)
2011/01/09 Javascript
读jQuery之八 包装事件对象
2011/06/21 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
2013/08/18 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
node.js中的fs.utimesSync方法使用说明
2014/12/15 Javascript
JS验证IP,子网掩码,网关和MAC的方法
2015/07/02 Javascript
轻松实现Bootstrap图片轮播
2020/04/20 Javascript
Bootstrap每天必学之按钮(Button)插件
2016/04/25 Javascript
JavaScript中数组slice和splice的对比小结
2016/09/22 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
jquery一键控制checkbox全选、反选或全不选
2017/10/16 jQuery
Vue封装一个简单轻量的上传文件组件的示例
2018/03/21 Javascript
vue 点击按钮增加一行的方法
2018/09/07 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
JS中的模糊查询功能
2019/12/08 Javascript
Vue父组件监听子组件生命周期
2020/09/03 Javascript
Django实现图片文字同时提交的方法
2015/05/26 Python
解决python xx.py文件点击完之后一闪而过的问题
2019/06/24 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
Python代码一键转Jar包及Java调用Python新姿势
2020/03/10 Python
Python引入多个模块及包的概念过程解析
2020/09/21 Python
python中time tzset()函数实例用法
2021/02/18 Python
教学器材管理制度
2014/01/26 职场文书
财产公证书
2014/04/10 职场文书
根叔历年演讲稿
2014/05/20 职场文书
治庸问责心得体会
2014/09/12 职场文书
服装区域经理岗位职责
2015/04/10 职场文书
2019 入党申请书范文
2019/07/10 职场文书
深入探讨opencv图像矫正算法实战
2021/05/21 Python
分析设计模式之模板方法Java实现
2021/06/23 Java/Android