giganciprogramowania

Gigant Piano- podstawa

Apr 22nd, 2021 (edited)
314
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.75 KB | None | 0 0
  1. /////////////////////HTML///////////////////////
  2. <!DOCTYPE html>
  3. <html lang="pl">
  4. <head>
  5. <meta charset="utf-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7. <meta name="viewport" content="width=device-width, initial-scale=1">
  8.  
  9. <title>Gigant Piano</title>
  10.  
  11. <!-- import the webpage's stylesheet -->
  12. <link rel="stylesheet" href="/style.css">
  13.  
  14. <!-- import the webpage's javascript file -->
  15. <script src="/script.js" defer></script>
  16.  
  17. <link rel="preconnect" href="https://fonts.gstatic.com">
  18. <link href="https://fonts.googleapis.com/css2?family=Marck+Script&display=swap" rel="stylesheet">
  19. <link rel="icon" href="https://cdn.glitch.com/e6f75690-14f3-45bb-b1a5-c6b79067ed8a%2Ff41836b1-31a2-465c-8336-ebb31c366ce3.obraz.png?v=1619041963483">
  20. </head>
  21. <body>
  22.  
  23.  
  24. <div class="pianino">
  25.  
  26. <div id="C" class="klawisz bialy"></div>
  27. <div id="Cis" class="klawisz czarny"></div>
  28. <div id="D" class="klawisz bialy"></div>
  29. <div id="Dis" class="klawisz czarny"></div>
  30. <div id="E" class="klawisz bialy"></div>
  31. <div id="F" class="klawisz bialy"></div>
  32. <div id="Fis" class="klawisz czarny"></div>
  33. <div id="G" class="klawisz bialy"></div>
  34. <div id="Gis" class="klawisz czarny"></div>
  35. <div id="A" class="klawisz bialy"></div>
  36. <div id="Ais" class="klawisz czarny"></div>
  37. <div id="H" class="klawisz bialy"></div>
  38.  
  39. </div>
  40.  
  41. <audio id="dzwiek-C" src="https://cdn.glitch.com/e6f75690-14f3-45bb-b1a5-c6b79067ed8a%2FC.wav?v=1619035637279"></audio>
  42. <audio id="dzwiek-Cis" src="https://cdn.glitch.com/e6f75690-14f3-45bb-b1a5-c6b79067ed8a%2FCis.wav?v=1619036320764"></audio>
  43. <audio id="dzwiek-D" src="https://cdn.glitch.com/e6f75690-14f3-45bb-b1a5-c6b79067ed8a%2FD.wav?v=1619036321087"></audio>
  44. <audio id="dzwiek-Dis" src="https://cdn.glitch.com/e6f75690-14f3-45bb-b1a5-c6b79067ed8a%2FDis.wav?v=1619036320982"></audio>
  45. <audio id="dzwiek-E" src="https://cdn.glitch.com/e6f75690-14f3-45bb-b1a5-c6b79067ed8a%2FE.wav?v=1619036320832"></audio>
  46. <audio id="dzwiek-F" src="https://cdn.glitch.com/e6f75690-14f3-45bb-b1a5-c6b79067ed8a%2FF.wav?v=1619036320970"></audio>
  47. <audio id="dzwiek-Fis" src="https://cdn.glitch.com/e6f75690-14f3-45bb-b1a5-c6b79067ed8a%2FFis.wav?v=1619036320584"></audio>
  48. <audio id="dzwiek-G" src="https://cdn.glitch.com/e6f75690-14f3-45bb-b1a5-c6b79067ed8a%2FG.wav?v=1619036321078"></audio>
  49. <audio id="dzwiek-Gis" src="https://cdn.glitch.com/e6f75690-14f3-45bb-b1a5-c6b79067ed8a%2FGis.wav?v=1619036320668"></audio>
  50. <audio id="dzwiek-A" src="https://cdn.glitch.com/e6f75690-14f3-45bb-b1a5-c6b79067ed8a%2FA.wav?v=1619036320613"></audio>
  51. <audio id="dzwiek-Ais" src="https://cdn.glitch.com/e6f75690-14f3-45bb-b1a5-c6b79067ed8a%2FAis.wav?v=1619036320410"></audio>
  52. <audio id="dzwiek-H" src="https://cdn.glitch.com/e6f75690-14f3-45bb-b1a5-c6b79067ed8a%2FH.wav?v=1619036320929"></audio>
  53. </body>
  54. </html>
  55.  
  56.  
  57.  
  58. /////////////////////CSS/////////////////////////////
  59.  
  60. body {
  61. background-color: #2a2a2a;/*kolor tła dla całej strony*/
  62. }
  63.  
  64. /*wygląd pianina*/
  65. .pianino{
  66. display:flex;/*ustawiamy kontener na elastyczny model pudełkowy dzięki temu domyślnie elementu w nim będą układać się wzdłuż poziomej osi głównej jeden obok drugiego*/
  67. background-color:#121212;/*kolor pianina*/
  68. border-radius: 15px;/*zaokrąglenie rogów pianina*/
  69. justify-content:center;/*wyśrodkowanie zawartości czyli klawiszy*/
  70. margin-left:auto;/*wyśrodkowanie pianina*/
  71. margin-right:auto;/*wyśrodkowanie pianina*/
  72. margin-top:100px;
  73. width:1000px;
  74. height:395px;
  75. padding-top:100px;
  76.  
  77.  
  78. }
  79.  
  80. /*wygląd białego klawisza*/
  81. .bialy{
  82.  
  83. width:100px;
  84. height:400px;
  85. background-color: white;
  86. border: 1px solid #333;
  87. border-radius: 0px 0px 7px 7px;/*zaokrąglamy przycisk tylko z dołu*/
  88. }
  89. /*wygląd czarnego klawisza*/
  90. .czarny{
  91. width:60px;
  92. height:240px;
  93. background-color: black;
  94. margin-right:-30px;/*ustawiamy ujemny margines, aby nasunąć czarny przycisk na biały*/
  95. margin-left:-30px;/*ustawiamy ujemny margines, aby nasunąć czarny przycisk na biały*/
  96. z-index:2;/*ustawiamy żeby czarny klawisz wyświetlał się na białym a nie pod nim*/
  97. border-radius: 0px 0px 7px 7px;/*zaokrąglamy przycisk tylko z dołu*/
  98. }
  99.  
  100.  
  101. /////////////////////////JS///////////////////////////
  102.  
  103.  
  104. /*zwracamy listę wszystkich elementów które posiadają klase .klawisz w naszym przypadku są to wszystkie klawisze w naszym pianinie*/
  105. const klawisze = document.querySelectorAll('.klawisz');
  106.  
  107. /*dla każdego elementu czyli naszego każdego klawisza dodajemy zdarzenie na kliknięcie myszką, następnie wywołujemy funkcję zagrajDzwiek do któej przekzujemy konkretny obiekt/klawisz*/
  108. klawisze.forEach(function(klawisz){
  109.  
  110.  
  111. klawisz.addEventListener('mousedown',function(){
  112.  
  113. zagrajDzwiek(klawisz);
  114.  
  115. });
  116.  
  117. });
  118.  
  119.  
  120.  
  121. /*dla każdego elementu czyli naszego każdego klawisza dodajemy zdarzenie na kliknięcie myszką, następnie wywołujemy funkcję zagrajDzwiek do któej przekzujemy konkretny obiekt/klawisz*/
  122. function zagrajDzwiek(klawisz){
  123. /*uzyskujemy dostęp do konkretnego dźwięku czyli jeżeli przekazany obiekt do funkcji to klawisz Cis to jego id jest ustawione na Cis a w efekcie konkatenacji mamy getElementById(dzwiek-Cis) czyli zmienna dzwiek ma dostęp do konkretnego elementu audio na stronie*/
  124. const dzwiek= document.getElementById('dzwiek-'+klawisz.id);
  125. //żeby można było odtwarzać dźwięk wielokrotnie od początku nie czakając aż się skończy ustawaimy jego resetowanie za każdym razem kiedy klikniemy
  126. dzwiek.currentTime = 0;
  127. //gramy dany dźwięk
  128. dzwiek.play();
  129.  
  130. }
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
Add Comment
Please, Sign In to add comment