js实现炫酷光感效果

 更新时间:2020年09月05日 14:32:16   作者:Cool_breeze_  
这篇文章主要为大家详细介绍了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)`;
}

效果如下

然后为这些小球添加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);
 }
}

效果如下

我们发现这些小球都是同时做动画的,那么我现在不想让他们同时做动画怎么办呢~,对了,设置延迟

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`;
}

炫光效果如下

还没完

现在是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`;
}

效果如下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • 扩展Bootstrap Tooltip插件使其可交互的方法

    扩展Bootstrap Tooltip插件使其可交互的方法

    这篇文章主要介绍了扩展Bootstrap Tooltip插件使其可交互的方法,结合实例形式分析了bootstrap扩展tooltip插件的原理与具体操作技巧,需要的朋友可以参考下
    2016-11-11
  • JavaScript实现类似拉勾网的鼠标移入移出效果

    JavaScript实现类似拉勾网的鼠标移入移出效果

    其实也是个偶然的机会让我想去研究一下这个效果。主要是由于有个群里的人发了个讲解这个效果的链接,当时也没怎么在意,然后过两天,突然就想起这件事,便去拉勾网一看,效果不错啊,所以就自己研究起来,现在将过程分享给大家,有需要的可以参考借鉴。
    2016-10-10
  • JavaScript驾驭网页-CSS与DOM

    JavaScript驾驭网页-CSS与DOM

    DOM是种符合万维网标准的HTML操纵方式,它能比innerHTML特性达成更多操控功能。这篇文章主要介绍了JavaScript驾驭网页-CSS与DOM的相关资料,需要的朋友可以参考下
    2016-03-03
  • 追踪discord.js中删除消息的用户方法实例详解

    追踪discord.js中删除消息的用户方法实例详解

    这篇文章主要为大家介绍了如何追踪discord.js中删除消息的用户方法实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • js实现非常简单的焦点图切换特效实例

    js实现非常简单的焦点图切换特效实例

    这篇文章主要介绍了js实现非常简单的焦点图切换特效,是一个非常简单的js焦点图切换效果,涉及javascript操作鼠标事件与图片的相关技巧,需要的朋友可以参考下
    2015-05-05
  • JS简单实现数组去重的方法分析

    JS简单实现数组去重的方法分析

    这篇文章主要介绍了JS简单实现数组去重的方法,结合具体实例形式分析了javascript数组遍历、判断实现去重复的相关操作技巧与注意事项,需要的朋友可以参考下
    2017-10-10
  • js中的 || 与 && 运算符详解

    js中的 || 与 && 运算符详解

    这篇文章主要介绍了js中的 || 与 && 运算符详解,需要的朋友可以参考下
    2018-05-05
  • javascript replace()方法的简单分析

    javascript replace()方法的简单分析

    javascript中replace()在javascript中,String的函数replace()简直太让人喜爱了。它灵活而强大的字符替换处理能力,让我不禁想向大家介绍它。
    2008-11-11
  • JavaScript中的回调函数实例讲解

    JavaScript中的回调函数实例讲解

    今天小编就为大家分享一篇关于JavaScript中的回调函数实例讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • javascript模板方法模式和职责链模式实例分析

    javascript模板方法模式和职责链模式实例分析

    这篇文章主要介绍了javascript模板方法模式和职责链模式,结合实例形式较为详细的分析了模板方法模式和职责链模式基本原理、实现方法与相关注意事项,需要的朋友可以参考下
    2023-07-07

最新评论