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 相关文章推荐
鼠标事件延时切换插件
Mar 12 Javascript
myEvent.js javascript跨浏览器事件框架
Oct 24 Javascript
JS跨域总结
Aug 30 Javascript
jQuery向后台传入json格式数据的方法
Feb 13 Javascript
在JavaScript的正则表达式中使用exec()方法
Jun 16 Javascript
AngularJs表单校验功能实例代码
Feb 09 Javascript
浅谈JavaScript正则表达式-非捕获性分组
Mar 08 Javascript
JavaScript实现浅拷贝与深拷贝的方法分析
Jul 05 Javascript
详解JavaScript 中 if / if...else...替换方式
Jul 15 Javascript
vue中轮训器的使用
Jan 27 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
Mar 12 Javascript
微信小程序实现列表左右滑动
Nov 19 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约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
JavaScript 函数调用规则
2009/09/14 Javascript
javascript showModalDialog 多层模态窗口实现页面提交及刷新的代码
2009/11/28 Javascript
JS可以控制样式的名称写法一览
2014/01/16 Javascript
推荐8款jQuery轻量级树形Tree插件
2014/11/12 Javascript
在JavaScript中如何解决用execCommand(
2015/10/19 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
2016/08/19 Javascript
jQuery实现的瀑布流加载效果示例
2016/09/13 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
深入理解angular2启动项目步骤
2017/07/15 Javascript
js 倒计时(高效率服务器时间同步)
2017/09/12 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
Vue.js实现可排序的表格组件功能示例
2019/02/19 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
2019/04/23 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
Angular+ionic实现折叠展开效果的示例代码
2020/07/29 Javascript
vue将data恢复到初始状态 &amp;&amp; 重新渲染组件实例
2020/09/04 Javascript
JS闭包原理及其使用场景解析
2020/12/03 Javascript
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
如何实现删除numpy.array中的行或列
2018/05/08 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
python根据时间获取周数代码实例
2019/09/30 Python
Django通过dwebsocket实现websocket的例子
2019/11/15 Python
python报错: 'list' object has no attribute 'shape'的解决
2020/07/15 Python
pycharm专业版远程登录服务器的详细教程
2020/09/15 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
马来西亚综合购物网站:Lazada马来西亚
2018/06/05 全球购物
中学生在校期间的自我评价分享
2013/11/13 职场文书
篝火晚会策划方案
2014/05/16 职场文书
平面设计师岗位职责
2014/09/18 职场文书
质量整改通知单
2015/04/21 职场文书
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技