js实现带声音频谱显示错误动画效果代码

代码语言:html

所属分类:动画

代码描述:js实现带声音频谱显示错误动画效果代码

代码标签: js 声音 频谱 显示 错误 动画

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
 
<meta charset="UTF-8">
 

 
 
 
 
<style>
:root {
       
--bg-color: #090909;
       
--text-color: #e0e0e0;
       
--tile-bg: #121212;
       
--accent-color: #ff6347;
       
--button-bg: linear-gradient(45deg, #ff0844, #f36);
       
--error-bg: hsla(0, 0%, 100%, 0.05);
       
--visualizer-bg: hsla(0, 0%, 100%, 0.08);
}

*,
::after,
::before {
       
box-sizing: border-box;
       
margin: 0;
       
padding: 0;
}

body
{
       
align-items: center;
       
background: var(--bg-color);
       
color: var(--text-color);
       
display: flex;
       
flex-direction: column;
       
font-family: "Consolas", "Courier New", monospace;
       
height: 100vh;
       
justify-content: center;
       
overflow: hidden;
       
width: 100%;
}

.container {
       
max-width: 48.75rem;
       
padding: 0.5rem;
       
text-align: center;
       
width: 90%;
}

.visualizer {
       
align-items: flex-end;
       
background-color: hsla(0, 0%, 100%, 0.1);
       
display: flex;
       
height: 6.25rem;
       
justify-content: space-between;
       
margin-bottom: 0.8rem;
       
overflow: hidden;
       
width: 100%;
}

.wave-bar {
       
background: linear-gradient(0deg, #f0f, hsla(0, 0%, 100%, 0.3));
       
flex: 1;
       
margin: 0 0.0625rem;
       
transition: height 0.1s ease-out;
}

.error-display {
       
animation: fadeIn 0.3s ease-in-out;
       
background: var(--error-bg);
       
border-left: 0.1875rem solid var(--accent-color);
       
border-radius: 0.375rem;
       
padding: 0.75rem;
       
text-align: left;
}

.error-display,
button
{
       
font-size: 0.9rem;
       
margin-bottom: 0.8rem;
}

button
{
       
background: var(--button-bg);
       
border: none;
       
border-radius: 0.375rem;
       
color: #fff;
       
cursor: pointer;
       
letter-spacing: 0.025em;
       
padding: 0.6rem 1.4rem;
}

[disabled] {
       
opacity: 0.6;
       
cursor: not-allowed;
}

.note-grid {
       
align-items: center;
       
background-color: hsla(0, 0%, 100%, 0.1);
       
display: flex;
       
flex-wrap: nowrap;
       
justify-content: space-between;
       
margin-bottom: 1.6rem;
       
padding: 0;
       
width: 100%;
}

.note-tile {
       
aspect-ratio: 1/1;
       
background-color: var(--tile-bg);
       
flex: 1;
       
transition: filter 0.2s ease, background-color 0.3s ease-in-out;
}

.note-tile.active {
       
background-color: currentColor;
       
filter: brightness(1.5);
}

@keyframes fadeIn {
        from
{
               
opacity: 0;
               
transform: translateY(-0.5rem);
       
}

        to
{
               
opacity: 1;
               
transform: translateY(0);
       
}
}

@keyframes glitchScreen {
       
0% {
               
opacity: 1;
               
transform: skewX(0deg);
       
}

       
20% {
               
opacity: 0.9;
               
transform: skewX(-3deg);
       
}

       
40% {
               
opacity: 1;
               
transform: skewX(3deg);
       
}

       
60% {
               
opacity: 0.85;
               
transform: skewX(-2deg);
       
}

       
100% {
               
opacity: 1;
               
transform: skewX(0deg);
       
}
}

@keyframes glitchText {
       
0% {
               
text-shadow: 0.0625rem 0.0625rem red, -0.0625rem -0.0625rem #00f;
       
}

       
33% {
               
text-shadow: -0.0625rem 0.0625rem green, 0.0625rem -0.0625rem purple;
       
}

       
66% {
               
text-shadow: 0.0625rem -0.0625rem orange, -0.0625rem 0.0625rem #0ff;
       
}

       
100% {
               
text-shadow: 0 0 transparent;
       
}
}

.glitch-effect {
       
animation: glitchScreen 0.4s ease-in-out infinite alternate;
}

.glitch-text {
       
animation: glitchText 0.4s ease-in-out infinite alternate;
}
</style>

 
 
 
</head>

<body translate="no">
 
<div class="container">
       
<div class="visualizer" id="visualizer"></div>
       
<div class="error-display" id="errorDisplay"></div>
       
<div class="note-grid" id="noteGrid"></div>
       
<button id="generateError">Initiate Reality Scan</button>
</div>
 
     
<script >
document.addEventListener("DOMContentLoaded", () => {
  const errorConfig = [
  {
    code: 400,
    message:
    "Climate Logic Error - Denial particles failed to align with reality",
    notes: [293.66, 369.99, 466.16],
    color: "#FF00FF" },

  {
    code: 401,
 .........完整代码请登录后点击上方下载按钮下载查看

网友评论0