25codingchallenge2 / index.html
yoon2566's picture
Update index.html
2ae61cc verified
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ช…์–ธ ๋ชจ์Œ์ง‘</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Arial', sans-serif;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
color: #333;
padding: 20px;
}
.container {
max-width: 800px;
width: 100%;
text-align: center;
}
.quote-display {
background: rgba(255,255,255,0.95);
border-radius: 20px;
padding: 50px 40px;
box-shadow: 0 20px 60px rgba(0,0,0,0.2);
backdrop-filter: blur(10px);
margin-bottom: 40px;
position: relative;
overflow: hidden;
transition: all 0.3s ease;
}
.quote-display::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 6px;
background: linear-gradient(45deg, #ff6b6b, #4ecdc4, #45b7d1, #96ceb4);
}
.quote-display:hover {
transform: translateY(-5px);
box-shadow: 0 25px 80px rgba(0,0,0,0.3);
}
.quote-text {
font-size: 1.8rem;
line-height: 1.6;
margin-bottom: 30px;
color: #2c3e50;
font-style: italic;
position: relative;
font-weight: 300;
}
.quote-text::before {
content: '"';
font-size: 4rem;
color: #3498db;
position: absolute;
left: -30px;
top: -20px;
opacity: 0.3;
font-family: serif;
}
.quote-text::after {
content: '"';
font-size: 4rem;
color: #3498db;
position: absolute;
right: -30px;
bottom: -40px;
opacity: 0.3;
font-family: serif;
}
.quote-meta {
border-top: 2px solid #eee;
padding-top: 25px;
margin-top: 25px;
}
.character {
font-weight: bold;
color: #e74c3c;
font-size: 1.3rem;
margin-bottom: 8px;
}
.anime {
color: #3498db;
font-size: 1.1rem;
font-weight: 500;
}
.random-btn {
background: linear-gradient(45deg, #ff6b6b, #4ecdc4);
color: white;
border: none;
padding: 18px 40px;
border-radius: 50px;
cursor: pointer;
font-size: 1.2rem;
font-weight: bold;
transition: all 0.3s ease;
box-shadow: 0 8px 25px rgba(0,0,0,0.2);
text-transform: uppercase;
letter-spacing: 1px;
}
.random-btn:hover {
transform: translateY(-3px);
box-shadow: 0 12px 35px rgba(0,0,0,0.3);
background: linear-gradient(45deg, #ff5252, #26c6da);
}
.random-btn:active {
transform: translateY(0);
}
@media (max-width: 768px) {
.quote-display {
padding: 30px 25px;
margin-bottom: 30px;
}
.quote-text {
font-size: 1.4rem;
}
.quote-text::before,
.quote-text::after {
font-size: 3rem;
}
.quote-text::before {
left: -15px;
top: -15px;
}
.quote-text::after {
right: -15px;
bottom: -30px;
}
.character {
font-size: 1.1rem;
}
.anime {
font-size: 1rem;
}
.random-btn {
padding: 15px 30px;
font-size: 1rem;
}
}
@media (max-width: 480px) {
.container {
padding: 0 10px;
}
.quote-display {
padding: 25px 20px;
}
.quote-text {
font-size: 1.2rem;
}
}
/* ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ */
.fade-in {
animation: fadeIn 0.6s ease-in;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.pulse {
animation: pulse 0.3s ease-in-out;
}
@keyframes pulse {
0% {
transform: scale(1);
}
50% {
transform: scale(1.05);
}
100% {
transform: scale(1);
}
}
</style>
</head>
<body>
<div class="container">
<div class="quote-display fade-in" id="quoteDisplay">
<div class="quote-text" id="quoteText"></div>
<div class="quote-meta">
<div class="character" id="characterName"></div>
<div class="anime" id="animeName"></div>
</div>
</div>
<button class="random-btn" onclick="showRandomQuote()" id="randomBtn">
์ƒˆ๋กœ์šด ๋ช…์–ธ ๋ณด๊ธฐ
</button>
</div>
<script>
// ๋ช…์–ธ ๋ฐ์ดํ„ฐ
const quotes = [
// ์ผ๋ณธ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ช…์–ธ
{ text: "๋Œ€์žฅ๋ถ€, ๋‚˜๋Š” ์ตœ๊ฐ•์ด๋‹ˆ๊นŒ.", character: "๊ณ ์ฃ  ์‚ฌํ† ๋ฃจ", anime: "์ฃผ์ˆ ํšŒ์ „" },
{ text: "๋‚ด๊ฐ€ ์ฃฝ์„ ๋•Œ ๋ฌด์Šจ ์ผ์ด ์ƒ๊ธธ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ, ์‚ด์•„๊ฐ€๋Š” ๋ฐฉ์‹ ๋•Œ๋ฌธ์— ํ›„ํšŒ๋Š” ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์•„.", character: "์ดํƒ€๋„๋ฆฌ ์œ ์ง€", anime: "์ฃผ์ˆ ํšŒ์ „" },
{ text: "ํ‰๋ฒ”ํ•˜๊ฒŒ ์‚ด๋‹ค ํ‰๋ฒ”ํ•˜๊ฒŒ ์ฃฝ๊ณ  ์‹ถ์–ด. ๋‚ด ๊ฟˆ์„ ์ด๋ฃจ์–ด์ค˜.", character: "๋ด์ง€", anime: "์ฒด์ธ์†Œ ๋งจ" },
{ text: "์ด๊ฑด ๊ณ„์•ฝ์ด์•ผ. ๋‚ด ์‹ฌ์žฅ์„ ์ค„๊ฒŒ. ๋Œ€์‹ โ€ฆ ๋ด์ง€์˜ ๊ฟˆ์„ ๋‚˜์—๊ฒŒ ๋ณด์—ฌ์ค˜.", character: "ํฌ์น˜ํƒ€", anime: "์ฒด์ธ์†Œ ๋งจ" },
{ text: "์ด ์„ธ์ƒ์€ ์ž”ํ˜นํ•˜์ง€๋งŒ, ๊ทธ๋ž˜๋„ ์•„๋ฆ„๋‹ค์›Œ.", character: "๋ฏธ์นด์‚ฌ ์•„์ปค๋งŒ", anime: "์ง„๊ฒฉ์˜ ๊ฑฐ์ธ" },
{ text: "๋ชฉ์ˆจ์„ ๋ถˆํƒœ์›Œ๋ผ, ๋‚ด์ผ์„ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•ด.", character: "๋ Œ๊ณ ์ฟ  ์ฟ„์ฅฌ๋กœ", anime: "๊ท€๋ฉธ์˜ ์นผ๋‚ " },
{ text: "๋…ธ๋ ฅ์€ ๋ฐ˜๋“œ์‹œ ๋ณด๋‹ต๋ฐ›๋Š”๋‹ค.", character: "๋ก ๋ฆฌ", anime: "๋‚˜๋ฃจํ† " },
{ text: "์˜จ ํž˜์„ ๋‹คํ•ด ์‚ด์•„๋ผ! ๋‹จ ํ•œ ๋ฒˆ๋ฟ์ธ ์ธ์ƒ์ด๋‹ˆ๊นŒ.", character: "๋ชฝํ‚ค D. ๋ฃจํ”ผ", anime: "์›ํ”ผ์Šค" },
{ text: "ํฌ๊ธฐํ•˜๋ฉด ๊ทธ ์ˆœ๊ฐ„์ด ๋ฐ”๋กœ ์‹œํ•ฉ ์ข…๋ฃŒ์•ผ.", character: "์•ˆ๋…ธ ์ฝ”์น˜", anime: "์Šฌ๋žจ๋ฉํฌ" },
{ text: "๊ธฐ์ ์€ ์ผ์–ด๋‚˜๋Š” ๊ฒŒ ์•„๋‹ˆ์•ผ, ์ผ์œผํ‚ค๋Š” ๊ฑฐ์•ผ.", character: "์‚ฌ์ฟ ๋ผ๊ธฐ ํ•˜๋‚˜๋ฏธ์น˜", anime: "์Šฌ๋žจ๋ฉํฌ" },
{ text: "ํž˜๋‚ด! ์‚ฌ๋žŒ์€ ๋งˆ์Œ์ด ์›๋™๋ ฅ์ด๋‹ˆ๊นŒ, ๋งˆ์Œ์€ ์–ด๋””๊นŒ์ง€๊ณ  ๊ฐ•ํ•ด์งˆ ์ˆ˜ ์žˆ์–ด!", character: "์นด๋งˆ๋„ ํƒ„์ง€๋กœ", anime: "๊ท€๋ฉธ์˜ ์นผ๋‚ " },
{ text: "๋‚˜๋Š” ์ ˆ๋Œ€ ๋ฌด๋„ˆ์ง€์ง€ ์•Š์„ ๊ฑฐ์•ผ!", character: "์นด๋งˆ๋„ ํƒ„์ง€๋กœ", anime: "๊ท€๋ฉธ์˜ ์นผ๋‚ " },
{ text: "ํ‚ค๋ถ€์ธ ์ง€ ๋ฌด์ž”!! ๋‚œ ๋„ค๋†ˆ์„ ์ ˆ๋Œ€ ๋†“์น˜์ง€ ์•Š์•„! ์–ด๋””์— ๊ฐ„๋‹ค ํ•ด๋„!", character: "์นด๋งˆ๋„ ํƒ„์ง€๋กœ", anime: "๊ท€๋ฉธ์˜ ์นผ๋‚ " },
{ text: "๋‚˜์™€ ๋„ค์ฆˆ์ฝ”์˜ ์œ ๋Œ€๋Š” ๋ˆ„๊ตฌ๋„ ๊ฐˆ๋ผ๋†“์ง€ ๋ชปํ•ด!!", character: "์นด๋งˆ๋„ ํƒ„์ง€๋กœ", anime: "๊ท€๋ฉธ์˜ ์นผ๋‚ " },
{ text: "๋งˆ์Œ์†์˜ ๋ถˆ์ด ๊บผ์งˆ ์ผ์€ ์—†๋‹ค!", character: "๋ Œ๊ณ ์ฟ ", anime: "๊ท€๋ฉธ์˜ ์นผ๋‚ " },
{ text: "๋…ธ๋ ฅ์€ ๋ฐฐ์‹ ํ•˜์ง€ ์•Š์•„.", character: "์šฐ์ฆˆ๋งˆํ‚ค ๋‚˜๋ฃจํ† ", anime: "๋‚˜๋ฃจํ† " },
{ text: "์ž์‹ ์„ ๋ฏฟ์ง€์•Š๋Š” ๋…€์„๋”ฐ์œ„๋Š” ๋…ธ๋ ฅํ•  ๊ฐ€์น˜๋„ ์—†๋‹ค!", character: "๋งˆ์ดํŠธ ๊ฐ€์ด", anime: "๋‚˜๋ฃจํ† " },
{ text: "์ธ์ƒ์€ ํ•œ ๋ฐฉ์ด์•ผ!", character: "์‚ฌ์นด๋ชจํ†  ๋ฃŒ๋งˆ", anime: "์›ํ”ผ์Šค" },
{ text: "์šฉ๊ธฐ๋Š” ๊ณตํฌ๋ฅผ ๊ทน๋ณตํ•˜๋Š” ํž˜์ด์•ผ.", character: "ํฌํŠธ๊ฑฐ์Šค D. ์—์ด์Šค", anime: "์›ํ”ผ์Šค" },
{ text: "์‚ฌ๋žŒ์ด ์–ธ์ œ ์ฃฝ๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋‚˜?โ€ฆ ์•„๋‹ˆ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ์„œ ์žŠํ˜€์กŒ์„๋•Œ๋‹ค", character: "๋‹ฅํ„ฐ ํžˆ๋ฃจ๋ฃจํฌ", anime: "์›ํ”ผ์Šค" },
{ text: "์ตœ๊ณ ์˜ ์ˆœ๊ฐ„์€ ์•„์ง ์˜ค์ง€ ์•Š์•˜์–ด.", character: "๋ฃจํ”ผ", anime: "์›ํ”ผ์Šค" },
{ text: "์•ฝํ•œ ๋…€์„์ด ๋‚˜์œ ๊ฒŒ ์•„๋‹ˆ๋ผ, ์•ฝํ•จ์„ ์ธ์ •ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ๋‚˜์œ ๊ฑฐ์•ผ.", character: "์—๋“œ์›Œ๋“œ ์—˜๋ฆญ", anime: "๊ฐ•์ฒ ์˜ ์—ฐ๊ธˆ์ˆ ์‚ฌ" },
{ text: "๊ณ ํ†ต ์—†์ด๋Š” ์•„๋ฌด๊ฒƒ๋„ ์–ป์„ ์ˆ˜ ์—†์–ด.", character: "์—๋“œ์›Œ๋“œ ์—˜๋ฆญ", anime: "๊ฐ•์ฒ ์˜ ์—ฐ๊ธˆ์ˆ ์‚ฌ" },
{ text: "๋‚ ๊ฐœ๊ฐ€ ์—†๊ธฐ์— ์ธ๊ฐ„์€ ๋‚ ์•„์˜ค๋ฅผ ๋ฐฉ๋ฒ•์„ ์ฐพ๋Š”๋‹ค", character: "์šฐ์นด์ด ์ผ€์ด์‹ ", anime: "ํ•˜์ดํ!!" },
{ text: "ํ•˜๊ณ  ์‹ถ์€ ๊ฒŒ ์žˆ์œผ๋ฉด ์ง€๊ธˆ ๋‹น์žฅ ํ•ด!", character: "ํžˆ๋‚˜ํƒ€ ์‡ผ์š”", anime: "ํ•˜์ดํ!!" },
{ text: "์šฐ๋ฆฌ๋“ค์€ ํ˜ผ์ž๊ฐ€ ์•„๋‹ˆ์•ผ", character: "๋‚˜์ธ  ๋“œ๋ž˜๊ทธ๋‹", anime: "ํŽ˜์–ด๋ฆฌํ…Œ์ผ" },
{ text: "๊ฐ•ํ•จ์ด ์ „๋ถ€๊ฐ€ ์•„๋‹ˆ์•ผ. ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ํ•จ๊ป˜ํ•˜๋Š” ์‚ฌ๋žŒ์ด์•ผ.", character: "๋‚˜์ธ ", anime: "ํŽ˜์–ด๋ฆฌํ…Œ์ผ" },
{ text: "๊ฟˆ์€ ๋„๋ง๊ฐ€์ง€ ์•Š์•„ ๋„๋ง๊ฐ€๋Š” ๊ฒƒ์€ ์–ธ์ œ๋‚˜ ๋‚˜ ์ž์‹ ์ด์ง€", character: "์‹ ํ˜•๋งŒ", anime: "์งฑ๊ตฌ๋Š” ๋ชป๋ง๋ ค" },
{ text: "๋ง‘์€๋ฌผ์—์„œ ์‚ด๋“  ์‹œ๊ถ์ฐฝ์—์„œ ์‚ด๋“  ์•ž์œผ๋กœ ํ—ค์—„์น˜๋Š” ๋ฌผ๊ณ ๊ธฐ๋Š” ์•„๋ฆ„๋‹ต๊ฒŒ ์ž๋ผ๋Š” ๋ฒ•์ž…๋‹ˆ๋‹ค", character: "์ฝ”๋กœ์„ผ์„ธ", anime: "์•”์‚ด๊ต์‹ค" },
{ text: "๋„๋ง์น˜๋ฉด ์•ˆ ๋ผ. ๋„๋ง์น˜๋ฉด ์•ˆ ๋ผ. ๋„๋ง์น˜๋ฉด ์•ˆ ๋ผ.", character: "์ด์นด๋ฆฌ ์‹ ์ง€", anime: "์‹ ์„ธ๊ธฐ ์—๋ฐ˜๊ฒŒ๋ฆฌ์˜จ" },
{ text: "์ฃฝ์–ด์„œ ์ด๊ธด๋‹ค์™€ ์ฃฝ๋”๋ผ๋„ ์ด๊ธด๋‹ค๋Š” ๊ฑด ์ „ํ˜€ ๋‹ฌ๋ผ.", character: "์ดํƒ€๋„๋ฆฌ ์œ ์ง€", anime: "์ฃผ์ˆ ํšŒ์ „" },
// ์„œ์–‘ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ช…์–ธ (๋””์ฆˆ๋‹ˆ, ํ”ฝ์‚ฌ)
{ text: "์ƒ๊ฐ์€ ๋งˆ๋ฒ•์˜ ์—ด์‡ ์˜ˆ์š”.", character: "ํ”ผํ„ฐ ํŒฌ", anime: "ํ”ผํ„ฐ ํŒฌ" },
{ text: "๊ทธ๋ƒฅ ์ˆ˜์˜์„ ๊ณ„์†ํ•ด.", character: "๋„๋ฆฌ", anime: "๋‹ˆ๋ชจ๋ฅผ ์ฐพ์•„์„œ" },
{ text: "๊ฐ€์žฅ ์–ด๋‘์šด ๋ฐค๋„ ๋๋‚˜๊ณ  ํ•ด๊ฐ€ ๋– ์š”.", character: "๋น…ํ„ฐ ํœด๊ณ ", anime: "๋…ธํŠธ๋ฅด๋‹ด์˜ ๊ผฝ์ถ”" },
{ text: "๋งˆ์Œ์ด ์–ผ๋งˆ๋‚˜ ์Šฌํผ๋„, ๊ณ„์† ๋ฏฟ๋Š”๋‹ค๋ฉด ์›ํ•˜๋Š” ๊ฟˆ์€ ์ด๋ค„์งˆ ๊ฑฐ์˜ˆ์š”.", character: "์‹ ๋ฐ๋ ๋ผ", anime: "์‹ ๋ฐ๋ ๋ผ" },
{ text: "๋‹น์‹ ์ด ์šด๋ช…์„ ํ†ต์ œํ•ด์š” โ€” ๋งˆ๋ฒ•์ด ํ•„์š”ํ•˜์ง€ ์•Š์•„์š”.", character: "๋ฉ”๋ฆฌ๋‹ค", anime: "๋ฉ”๋ฆฌ๋‹ค์™€ ๋งˆ๋ฒ•์˜ ์ˆฒ" },
{ text: "์—ญ๊ฒฝ์—์„œ ํ”ผ์–ด๋‚˜๋Š” ๊ฝƒ์€ ๊ฐ€์žฅ ํฌ๊ท€ํ•˜๊ณ  ์•„๋ฆ„๋‹ค์›Œ์š”.", character: "๋ฌด๋ž", anime: "๋ฎฌ๋ž€" },
{ text: "ํ•˜์ฟ ๋‚˜๋งˆํƒ€ํƒ€! (๊ฑฑ์ •ํ•˜์ง€ ๋งˆ!)", character: "ํ’ˆ๋ฐ”", anime: "๋ผ์ด์˜จ ํ‚น" },
{ text: "๋‹น์‹ ์€ ๋ฏฟ๋Š” ๊ฒƒ๋ณด๋‹ค ์šฉ๊ฐํ•˜๊ณ , ๋ณด์ด๋Š” ๊ฒƒ๋ณด๋‹ค ๊ฐ•ํ•˜๋ฉฐ, ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋˜‘๋˜‘ํ•ด.", character: "ํฌ๋ฆฌ์Šคํ† ํผ ๋กœ๋นˆ", anime: "๊ณฐ๋Œ์ด ํ‘ธ" },
{ text: "๊ณผ๊ฑฐ๋Š” ์•„ํ”„๊ฒŒ ํ•  ์ˆ˜ ์žˆ์–ด. ํ•˜์ง€๋งŒ ๋‚ด๊ฐ€ ๋ณด๊ธฐ์—๋Š”, ํ”ผํ•  ์ˆ˜๋„ ์žˆ๊ณ , ๋ฐฐ์šธ ์ˆ˜๋„ ์žˆ์–ด.", character: "๋ผํ”ผํ‚ค", anime: "๋ผ์ด์˜จ ํ‚น" },
{ text: "๋ฌดํ•œ๋Œ€๋กœ, ๊ทธ๋ฆฌ๊ณ  ์ € ๋„ˆ๋จธ๋กœ!", character: "๋ฒ„์ฆˆ ๋ผ์ดํŠธ์ด์–ด", anime: "ํ† ์ด ์Šคํ† ๋ฆฌ" },
{ text: "๊ธฐ์ ๋„ ์กฐ๊ธˆ์˜ ์‹œ๊ฐ„์ด ํ•„์š”ํ•ด์š”.", character: "์š”์ฝ”", anime: "์‹ ๋ฐ๋ ๋ผ" },
{ text: "๋‚˜๋ฅผ ๋‹ค๋ฅด๊ฒŒ ํ•˜๋Š” ๊ฒƒ๋“ค์ด ๋‚˜๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด์—์š”.", character: "ํ”ผ๊ธ€๋ ›", anime: "๊ณฐ๋Œ์ด ํ‘ธ" },
{ text: "์•ž์œผ๋กœ ๋‚˜์•„๊ฐ€์„ธ์š”.", character: "๋ฃจ์ด์Šค", anime: "๋ฏธ๋ž˜๋ฅผ ๋ฐ”๊พธ๋‹ค" },
{ text: "๊ฐ€์žฅ ์ ˆ๋ง์ ์ธ ์ˆœ๊ฐ„์ผ์ˆ˜๋ก ๊ฐ€์žฅ ํฐ ๋ณ€ํ™”๋ฅผ ๋ฐ›์•„๋“ค์ผ ์ค€๋น„๊ฐ€ ๋œ๋‹ค.", character: "Aang", anime: "Avatar: The Legend of Korra" }
];
let currentQuoteIndex = 0;
// ์ดˆ๊ธฐํ™”
document.addEventListener('DOMContentLoaded', function() {
showRandomQuote();
});
function showRandomQuote() {
// ๋ฒ„ํŠผ ์• ๋‹ˆ๋ฉ”์ด์…˜
const btn = document.getElementById('randomBtn');
btn.classList.add('pulse');
setTimeout(() => btn.classList.remove('pulse'), 300);
// ๋žœ๋ค ๋ช…์–ธ ์„ ํƒ (ํ˜„์žฌ ๋ช…์–ธ๊ณผ ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ)
let newIndex;
do {
newIndex = Math.floor(Math.random() * quotes.length);
} while (newIndex === currentQuoteIndex && quotes.length > 1);
currentQuoteIndex = newIndex;
const quote = quotes[currentQuoteIndex];
// ๋ช…์–ธ ํ‘œ์‹œ ์˜์—ญ์— fade-in ํšจ๊ณผ ์ ์šฉ
const display = document.getElementById('quoteDisplay');
display.classList.remove('fade-in');
// ์ž ์‹œ ํ›„ ์ƒˆ๋กœ์šด ๋‚ด์šฉ์œผ๋กœ ์—…๋ฐ์ดํŠธ
setTimeout(() => {
document.getElementById('quoteText').textContent = quote.text;
document.getElementById('characterName').textContent = quote.character;
document.getElementById('animeName').textContent = quote.anime;
display.classList.add('fade-in');
}, 150);
}
// ํ‚ค๋ณด๋“œ ์ด๋ฒคํŠธ (์ŠคํŽ˜์ด์Šค๋ฐ”๋กœ ์ƒˆ ๋ช…์–ธ ๋ณด๊ธฐ)
document.addEventListener('keydown', function(e) {
if (e.code === 'Space') {
e.preventDefault();
showRandomQuote();
}
});
</script>
</body>
</html>