Javascript zum Erzielen eines Trommeleffekts

Javascript zum Erzielen eines Trommeleffekts

In diesem Artikel wird der spezifische Code von Javascript zur Erzielung eines Trommeleffekts als Referenz bereitgestellt. Der spezifische Inhalt ist wie folgt

Drücken und halten Sie die entsprechende Tastatur, um verschiedene Töne anzuzeigen

<div Klasse="Schlüssel">
  <div Datenschlüssel="65" Klasse="Schlüssel">
   <kbd>Eine</kbd>
   <span class="sound">klatschen</span>
  </div>
  <div Datenschlüssel="83" Klasse="Schlüssel">
   <kbd>S</kbd>
   <span class="sound">Hi-Hat</span>
  </div>
  <div Datenschlüssel="68" Klasse="Schlüssel">
   <kbd>D</kbd>
   <span class="sound">Tritt</span>
  </div>
  <div Datenschlüssel="70" Klasse="Schlüssel">
   <kbd>F</kbd>
   <span class="sound">offener Hut</span>
  </div>
  <div Datenschlüssel="71" Klasse="Schlüssel">
   <kbd>G</kbd>
   <span class="sound">Boom</span>
  </div>
  <div Datenschlüssel="72" Klasse="Schlüssel">
   <kbd>H</kbd>
   <span class="sound">Fahrt</span>
  </div>
  <div Datenschlüssel="74" Klasse="Schlüssel">
   <kbd>J</kbd>
   <span class="sound">Schlinge</span>
  </div>
  <div Datenschlüssel="75" Klasse="Schlüssel">
   
   <kbd>K</kbd>
   <span class="sound">Tom</span>
  </div>
  <div Datenschlüssel="76" Klasse="Schlüssel">
   <kbd>L</kbd>
   <span class="sound">klimpern</span>
  </div>
  </div>
 
  <audio data-key="65" src="sounds/clap.wav"></audio>
  <audio data-key="83" src="sounds/hihat.wav"></audio>
  <audio data-key="68" src="sounds/kick.wav"></audio>
  <audio data-key="70" src="sounds/openhat.wav"></audio>
  <audio data-key="71" src="sounds/boom.wav"></audio>
  <audio data-key="72" src="sounds/ride.wav"></audio>
  <audio data-key="74" src="sounds/snare.wav"></audio>
  <audio data-key="75" src="sounds/tom.wav"></audio>
  <audio data-key="76" src="sounds/tink.wav"></audio>

CSS-Teil:

html {
 Schriftgröße: 10px;
 Hintergrund: url('../img/background.jpg') unten in der Mitte;
 Hintergrundgröße: Abdeckung;
}

Textkörper,html {
 Rand: 0;
 Polsterung: 0;
 Schriftfamilie: serifenlos;
}

.Schlüssel {
 Anzeige: Flex;
 biegen: 1;
 Mindesthöhe: 100vh;
 Elemente ausrichten: zentrieren;
 Inhalt ausrichten: zentriert;
}

.Schlüssel {
 Rand: .4rem tiefschwarz;
 Randradius: .5rem;
 Rand: 1rem;
 Schriftgröße: 1,5rem;
 Polsterung: 1rem .5rem;
 Übergang: alles 0,07 s Leichtigkeit;
 Breite: 10rem;
 Textausrichtung: zentriert;
 Farbe: weiß;
 Hintergrund: rgba(0,0,0,0,4);
 Textschatten: 0 0 ,5rem schwarz;
}

.spielen {
 transformieren: Skalierung(1.1);
 Rahmenfarbe: #ffc600;
 Kastenschatten: 0 0 1rem #ffc600;
}

kbd {
 Anzeige: Block;
 Schriftgröße: 4rem;
}

.Klang {
 Schriftgröße: 1,2rem;
 Texttransformation: Großbuchstaben;
 Buchstabenabstand: .1rem;
 Farbe: #ffc600;
}

Der erste Schritt besteht darin, die Tastatur zu drücken, um den Ton abzuspielen

window.addEventListener("Taste gedrückt",Funktion(e){
   Konsole.log(e.Schlüsselcode);
   const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`);
   const key = document.querySelector(`div[data-key="${e.keyCode}"]`)
   // Nach jeder Wiedergabe initialisieren if (!audio) return;
    audio.aktuelleZeit = 0;
    audio.abspielen();

     key.classList.add('spielen');

     setzeTimeout(Funktion(){
     key.classList.remove('spielen');
     },70);
    
    //Nach dem Drücken der Taste den Effekt herausbewegen})

keyCode entsprechendes Diagramm

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • JS implementiert Click-Drop-Effekt

<<:  So isolieren Sie Benutzer in Docker-Containern

>>:  Zusammenfassung der 11 häufigsten Fehler von MySQL-Anfängern

Artikel empfehlen

CentOS7 verwendet RPM, um MySQL 5.7-Tutorialdiagramm zu installieren

1. Laden Sie 4 RPM-Pakete herunter mysql-communit...

Drei Möglichkeiten, um einen Textblinkeffekt im CSS3-Beispielcode zu erzielen

1. Ändern Sie die Transparenz, um ein allmähliche...

So legen Sie das Breitenattribut auf den Stil des Span-Tags fest

Wenn Sie das Breitenattribut direkt auf den Stil d...

So verwenden Sie die Wurmreplikation in einer MySQL-Datentabelle

Einfach ausgedrückt besteht die MySQL-Wurmreplika...

Wie stellt MySQL die Datenintegrität sicher?

Die Bedeutung von Datenkonsistenz und -integrität...

Bedingtes Rendering von Vue (v-if und v-show)

Inhaltsverzeichnis 1. v-wenn 2. Verwenden Sie v-i...

CocosCreator Universal Framework Design Network

Inhaltsverzeichnis Vorwort WebSocket verwenden Er...

Detaillierte Installation und Verwendung von RocketMQ in Docker

Um nach RocketMQ-Images zu suchen, können Sie auf...

Zehn nützliche und einfache MySQL-Funktionen

Funktion 0. Aktuelle Uhrzeit anzeigen Befehl: sel...