| <!DOCTYPE html> |
| <html lang="ko"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>๋ก๋ง์ 8์ฅ ์์ก ๋์ฐ๋ฏธ (๋ชจ๋ ์ ํ)</title> |
| <style> |
| |
| body { |
| background-color: #000; |
| color: #FFFFFF; |
| font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; |
| margin: 0; |
| padding: 20px; |
| line-height: 1.6; |
| overflow-y: auto; |
| -webkit-overflow-scrolling: touch; |
| word-break: keep-all; |
| } |
| |
| h1 { |
| text-align: center; |
| margin-bottom: 15px; |
| color: #FFFF00; |
| font-size: 1.8em; |
| } |
| |
| |
| .verse { |
| display: none; |
| margin-top: 20px; |
| margin-bottom: 30px; |
| } |
| |
| .verse.active { |
| display: block; |
| } |
| |
| .verse-number { |
| font-weight: bold; |
| margin-bottom: 15px; |
| display: block; |
| font-size: 1.2em; |
| color: #FFFF00; |
| text-align: center; |
| } |
| |
| |
| .parts-container { |
| display: flex; |
| flex-wrap: wrap; |
| gap: 10px; |
| justify-content: center; |
| } |
| |
| |
| .part { |
| background-color: #333; |
| padding: 12px 8px; |
| border-radius: 5px; |
| cursor: pointer; |
| text-align: center; |
| box-sizing: border-box; |
| white-space: normal; |
| |
| |
| flex: 0 0 calc(33.33% - 10px); |
| min-width: 50px; |
| |
| transition: background-color 0.2s, color 0.2s, font-weight 0.1s; |
| } |
| |
| |
| body.preview-mode .part { |
| color: #AAAAAA; |
| } |
| |
| |
| body.hide-mode .part { |
| color: #333; |
| } |
| |
| |
| .part.active { |
| color: #FFFF00 !important; |
| background-color: #555; |
| font-weight: bold; |
| } |
| |
| |
| .controls { |
| text-align: center; |
| margin-bottom: 20px; |
| |
| display: flex; |
| justify-content: center; |
| align-items: center; |
| flex-wrap: wrap; |
| gap: 15px; |
| } |
| |
| |
| .rate-control { |
| display: flex; |
| align-items: center; |
| gap: 5px; |
| color: #AAAAAA; |
| font-size: 0.9em; |
| } |
| |
| |
| input[type="range"] { |
| -webkit-appearance: none; |
| appearance: none; |
| width: 120px; |
| height: 5px; |
| background: #555; |
| outline: none; |
| opacity: 0.7; |
| transition: opacity .2s; |
| border-radius: 5px; |
| } |
| |
| input[type="range"]:hover { |
| opacity: 1; |
| } |
| |
| |
| input[type="range"]::-webkit-slider-thumb { |
| -webkit-appearance: none; |
| appearance: none; |
| width: 15px; |
| height: 15px; |
| background: #FFFF00; |
| cursor: pointer; |
| border-radius: 50%; |
| } |
| |
| input[type="range"]::-moz-range-thumb { |
| width: 15px; |
| height: 15px; |
| background: #FFFF00; |
| cursor: pointer; |
| border-radius: 50%; |
| } |
| |
| .controls button { |
| padding: 12px 20px; |
| background-color: #555; |
| color: #FFFF00; |
| border: none; |
| border-radius: 5px; |
| cursor: pointer; |
| font-size: 0.9em; |
| transition: background-color 0.2s; |
| -webkit-appearance: none; |
| appearance: none; |
| } |
| |
| .controls button:hover:not(:disabled) { |
| background-color: #777; |
| } |
| |
| .controls button:disabled { |
| opacity: 0.5; |
| cursor: not-allowed; |
| } |
| |
| |
| @media (max-width: 768px) { |
| body { padding: 15px; } |
| h1 { font-size: 1.7em; margin-bottom: 10px; } |
| .verse-number { font-size: 1.1em; } |
| .controls { |
| gap: 10px; |
| } |
| .controls button { padding: 10px 18px; font-size: 0.85em; } |
| input[type="range"] { width: 90px; } |
| .part { |
| |
| flex: 0 0 calc(33.33% - 10px); |
| padding: 10px 6px; |
| min-width: 50px; |
| } |
| .parts-container { gap: 10px; } |
| } |
| |
| @media (max-width: 480px) { |
| body { padding: 10px; } |
| h1 { font-size: 1.5em; margin-bottom: 8px; } |
| .verse-number { font-size: 1em; } |
| .controls { |
| flex-direction: column; |
| gap: 8px; |
| } |
| .controls button { padding: 8px 15px; font-size: 0.8em; width: 80%;} |
| .rate-control { |
| width: 80%; |
| justify-content: space-between; |
| } |
| input[type="range"] { width: 60%; } |
| .part { |
| |
| flex: 0 0 calc(33.33% - 8px); |
| padding: 8px 5px; |
| min-width: 40px; |
| font-size: 0.85em; |
| } |
| .parts-container { gap: 8px; } |
| } |
| |
| |
| </style> |
| </head> |
| |
| <body class="preview-mode"> |
| <h1>๋ก๋ง์ 8์ฅ</h1> |
|
|
| <div class="controls"> |
| <button id="prev-verse">์ด์ ์ </button> |
| <button id="toggle-mode">๊ธ์ ๊ฐ๋ฆฌ๊ธฐ</button> |
| <button id="next-verse">๋ค์ ์ </button> |
| <div class="rate-control"> |
| <label for="rate-slider">์๋:</label> |
| <input type="range" id="rate-slider" min="0.5" max="2.0" step="0.1" value="1.0"> |
| </div> |
| </div> |
|
|
| <div id="verse-display"> |
| |
| </div> |
|
|
|
|
| <script> |
| |
| const verses = [ |
| "๊ทธ๋ฌ๋ฏ๋ก ์ด์ ๊ทธ๋ฆฌ์ค๋ ์์ ์์ ์๋ ์์๊ฒ๋ ๊ฒฐ์ฝ ์ ์ฃํจ์ด ์๋๋", |
| "์ด๋ ๊ทธ๋ฆฌ์ค๋ ์์ ์์ ์๋ ์๋ช
์ ์ฑ๋ น์ ๋ฒ์ด ์ฃ์ ์ฌ๋ง์ ๋ฒ์์ ๋๋ฅผ ํด๋ฐฉํ์์์ด๋ผ", |
| "์จ๋ฒ์ด ์ก์ ์ผ๋ก ๋ง๋ฏธ์์ ์ฐ์ฝํ์ฌ ํ ์ ์๋ ๊ทธ๊ฒ์ ํ๋๋์ ํ์๋๋ ๊ณง ์ฃ๋ก ๋ง๋ฏธ์์ ์๊ธฐ ์๋ค์ ์ฃ ์๋ ์ก์ ์ ๋ชจ์์ผ๋ก ๋ณด๋ด์ด ์ก์ ์ ์ฃ๋ฅผ ์ ํ์ฌ", |
| "์ก์ ์ ๋ฐ๋ฅด์ง ์๊ณ ๊ทธ ์์ ๋ฐ๋ผ ํํ๋ ์ฐ๋ฆฌ์๊ฒ ์จ๋ฒ์ ์๊ตฌ๊ฐ ์ด๋ฃจ์ด์ง๊ฒ ํ๋ ค ํ์ฌ์ด๋๋ผ", |
| "์ก์ ์ ๋ฐ๋ฅด๋ ์๋ ์ก์ ์ ์ผ์, ์์ ๋ฐ๋ฅด๋ ์๋ ์์ ์ผ์ ์๊ฐํ๋๋", |
| "์ก์ ์ ์๊ฐ์ ์ฌ๋ง์ด์ ์์ ์๊ฐ์ ์๋ช
๊ณผ ํ์์ด๋๋ผ", |
| "์ก์ ์ ์๊ฐ์ ํ๋๋๊ณผ ์์๊ฐ ๋๋๋ ์ด๋ ํ๋๋์ ๋ฒ์ ๊ตด๋ณตํ์ง ์๋ํ ๋ฟ ์๋๋ผ ํ ์๋ ์์์ด๋ผ", |
| "์ก์ ์ ์๋ ์๋ค์ ํ๋๋์ ๊ธฐ์์๊ฒ ํ ์ ์๋๋๋ผ", |
| "๋ง์ผ ๋ํฌ ์์ ํ๋๋์ ์์ด ๊ฑฐํ์๋ฉด ๋ํฌ๊ฐ ์ก์ ์ ์์ง ์๋ํ๊ณ ์์ ์๋๋ ๋๊ตฌ๋ ์ง ๊ทธ๋ฆฌ์ค๋์ ์์ด ์์ผ๋ฉด ๊ทธ๋ฆฌ์ค๋์ ์ฌ๋์ด ์๋๋ผ", |
| "๋ ๊ทธ๋ฆฌ์ค๋๊ป์ ๋ํฌ ์์ ๊ณ์๋ฉด ๋ชธ์ ์ฃ๋ก ๋ง๋ฏธ์์ ์ฃฝ์ ๊ฒ์ด๋ ์์ ์๋ก ๋ง๋ฏธ์์ ์ด์ ์๋ ๊ฒ์ด๋๋ผ", |
| "์์๋ฅผ ์ฃฝ์ ์ ๊ฐ์ด๋ฐ์ ์ด๋ฆฌ์ ์ด์ ์์ด ๋ํฌ ์์ ๊ฑฐํ์๋ฉด ๊ทธ๋ฆฌ์ค๋ ์์๋ฅผ ์ฃฝ์ ์ ๊ฐ์ด๋ฐ์ ์ด๋ฆฌ์ ์ด๊ฐ ๋ํฌ ์์ ๊ฑฐํ์๋ ๊ทธ์ ์์ผ๋ก ๋ง๋ฏธ์์ ๋ํฌ ์ฃฝ์ ๋ชธ๋ ์ด๋ฆฌ์๋ฆฌ๋ผ", |
| "๊ทธ๋ฌ๋ฏ๋ก ํ์ ๋ค์ ์ฐ๋ฆฌ๊ฐ ๋น์ง ์๋ก๋ ์ก์ ์๊ฒ ์ ธ์ ์ก์ ๋๋ก ์ด ๊ฒ์ด ์๋๋๋ผ", |
| "๋ํฌ๊ฐ ์ก์ ๋๋ก ์ด๋ฉด ๋ฐ๋์ ์ฃฝ์ ๊ฒ์ด๋ก๋ ์์ผ๋ก์จ ๋ชธ์ ํ์ค์ ์ฃฝ์ด๋ฉด ์ด๋ฆฌ๋", |
| "๋ฌด๋ฆ ํ๋๋์ ์์ผ๋ก ์ธ๋ํจ์ ๋ฐ๋ ์ฌ๋์ ๊ณง ํ๋๋์ ์๋ค์ด๋ผ", |
| "๋ํฌ๋ ๋ค์ ๋ฌด์์ํ๋ ์ข
์ ์์ ๋ฐ์ง ์๋ํ๊ณ ์์์ ์์ ๋ฐ์์ผ๋ฏ๋ก ์ฐ๋ฆฌ๊ฐ ์๋น ์๋ฒ์ง๋ผ๊ณ ๋ถ๋ฅด์ง๋๋๋ผ", |
| "์ฑ๋ น์ด ์นํ ์ฐ๋ฆฌ์ ์๊ณผ ๋๋ถ์ด ์ฐ๋ฆฌ๊ฐ ํ๋๋์ ์๋
์ธ ๊ฒ์ ์ฆ์ธํ์๋๋", |
| "์๋
์ด๋ฉด ๋ํ ์์์ ๊ณง ํ๋๋์ ์์์์ ๊ทธ๋ฆฌ์ค๋์ ํจ๊ป ํ ์์์๋ ์ฐ๋ฆฌ๊ฐ ๊ทธ์ ํจ๊ป ์๊ด์ ๋ฐ๊ธฐ ์ํ์ฌ ๊ณ ๋๋ ํจ๊ป ๋ฐ์์ผ ํ ๊ฒ์ด๋๋ผ", |
| "์๊ฐํ๊ฑด๋ ํ์ฌ์ ๊ณ ๋์ ์ฅ์ฐจ ์ฐ๋ฆฌ์๊ฒ ๋ํ๋ ์๊ด๊ณผ ๋น๊ตํ ์ ์๋๋ค", |
| "ํผ์กฐ๋ฌผ์ด ๊ณ ๋ํ๋ ๋ฐ๋ ํ๋๋์ ์๋ค๋ค์ด ๋ํ๋๋ ๊ฒ์ด๋", |
| "ํผ์กฐ๋ฌผ์ด ํ๋ฌดํ ๋ฐ ๊ตด๋ณตํ๋ ๊ฒ์ ์๊ธฐ ๋ป์ด ์๋์ ์ค์ง ๊ตด๋ณตํ๊ฒ ํ์๋ ์ด๋ก ๋ง๋ฏธ์์์ด๋ผ", |
| "๊ทธ ๋ฐ๋ผ๋ ๊ฒ์ ํผ์กฐ๋ฌผ๋ ์ฉ์ด์ง์ ์ข
๋
ธ๋ฆ ํ ๋ฐ์ ํด๋ฐฉ๋์ด ํ๋๋์ ์๋
๋ค์ ์๊ด์ ์์ ์ ์ด๋ฅด๋ ๊ฒ์ด๋๋ผ", |
| "ํผ์กฐ๋ฌผ์ด ๋ค ์ด์ ๊น์ง ํจ๊ป ํ์ํ๋ฉฐ ํจ๊ป ๊ณ ํต์ ๊ฒช๊ณ ์๋ ๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์๋๋๋ผ", |
| "๊ทธ๋ฟ ์๋๋ผ ๋ํ ์ฐ๋ฆฌ ๊ณง ์ฑ๋ น์ ์ฒ์ ์ต์ ์ด๋งค๋ฅผ ๋ฐ์ ์ฐ๋ฆฌ๊น์ง๋ ์์ผ๋ก ํ์ํ์ฌ ์์ ๋ ๊ฒ ๊ณง ์ฐ๋ฆฌ ๋ชธ์ ์๋์ ๊ธฐ๋ค๋ฆฌ๋๋๋ผ", |
| "์ฐ๋ฆฌ๊ฐ ์๋ง์ผ๋ก ๊ตฌ์์ ์ป์์ผ๋งค ๋ณด์ด๋ ์๋ง์ด ์๋ง์ด ์๋๋ ๋ณด๋ ๊ฒ์ ๋๊ฐ ๋ฐ๋ผ๋ฆฌ์", |
| "๋ง์ผ ์ฐ๋ฆฌ๊ฐ ๋ณด์ง ๋ชปํ๋ ๊ฒ์ ๋ฐ๋ผ๋ฉด ์ฐธ์์ผ๋ก ๊ธฐ๋ค๋ฆด์ง๋๋ผ", |
| "์ด์ ๊ฐ์ด ์ฑ๋ น๋ ์ฐ๋ฆฌ์ ์ฐ์ฝํจ์ ๋์ฐ์๋๋ ์ฐ๋ฆฌ๋ ๋ง๋
ํ ๊ธฐ๋ํ ๋ฐ๋ฅผ ์์ง ๋ชปํ๋ ์ค์ง ์ฑ๋ น์ด ๋งํ ์ ์๋ ํ์์ผ๋ก ์ฐ๋ฆฌ๋ฅผ ์ํ์ฌ ์นํ ๊ฐ๊ตฌํ์๋๋๋ผ", |
| "๋ง์์ ์ดํผ์๋ ์ด๊ฐ ์ฑ๋ น์ ์๊ฐ์ ์์๋๋ ์ด๋ ์ฑ๋ น์ด ํ๋๋์ ๋ป๋๋ก ์ฑ๋๋ฅผ ์ํ์ฌ ๊ฐ๊ตฌํ์ฌ์ด๋๋ผ", |
| "์ฐ๋ฆฌ๊ฐ ์๊ฑฐ๋์ ํ๋๋์ ์ฌ๋ํ๋ ์ ๊ณง ๊ทธ์ ๋ป๋๋ก ๋ถ๋ฅด์ฌ์ ์
์ ์๋ค์๊ฒ๋ ๋ชจ๋ ๊ฒ์ด ํฉ๋ ฅํ์ฌ ์ ์ ์ด๋ฃจ๋๋๋ผ", |
| "ํ๋๋์ด ๋ฏธ๋ฆฌ ์์ ์๋ค์ ๋ํ ๊ทธ ์๋ค์ ํ์์ ๋ณธ๋ฐ๊ฒ ํ๊ธฐ ์ํ์ฌ ๋ฏธ๋ฆฌ ์ ํ์
จ์ผ๋ ์ด๋ ๊ทธ๋ก ๋ง์ ํ์ ์ค์์ ๋ง์๋ค์ด ๋๊ฒ ํ๋ ค ํ์ฌ์ด๋๋ผ", |
| "๋ ๋ฏธ๋ฆฌ ์ ํ์ ๊ทธ๋ค์ ๋ํ ๋ถ๋ฅด์๊ณ ๋ถ๋ฅด์ ๊ทธ๋ค์ ๋ํ ์๋กญ๋ค ํ์๊ณ ์๋กญ๋ค ํ์ ๊ทธ๋ค์ ๋ํ ์ํ๋กญ๊ฒ ํ์
จ๋๋๋ผ", |
| "๊ทธ๋ฐ์ฆ ์ด ์ผ์ ๋ํ์ฌ ์ฐ๋ฆฌ๊ฐ ๋ฌด์จ ๋ง ํ๋ฆฌ์ ๋ง์ผ ํ๋๋์ด ์ฐ๋ฆฌ๋ฅผ ์ํ์๋ฉด ๋๊ฐ ์ฐ๋ฆฌ๋ฅผ ๋์ ํ๋ฆฌ์", |
| "์๊ธฐ ์๋ค์ ์๋ผ์ง ์๋ํ์๊ณ ์ฐ๋ฆฌ ๋ชจ๋ ์ฌ๋์ ์ํ์ฌ ๋ด์ฃผ์ ์ด๊ฐ ์ด์ฐ ๊ทธ ์๋ค๊ณผ ํจ๊ป ๋ชจ๋ ๊ฒ์ ์ฐ๋ฆฌ์๊ฒ ์ฃผ์์ง ์๋ํ๊ฒ ๋๋", |
| "๋๊ฐ ๋ฅํ ํ๋๋๊ป์ ํํ์ ์๋ค์ ๊ณ ๋ฐํ๋ฆฌ์ ์๋กญ๋ค ํ์ ์ด๋ ํ๋๋์ด์๋", |
| "๋๊ฐ ์ ์ฃํ๋ฆฌ์ ์ฃฝ์ผ์ค ๋ฟ ์๋๋ผ ๋ค์ ์ด์๋์ ์ด๋ ๊ทธ๋ฆฌ์ค๋ ์์์๋ ๊ทธ๋ ํ๋๋ ์ฐํธ์ ๊ณ์ ์์ ์ฐ๋ฆฌ๋ฅผ ์ํ์ฌ ๊ฐ๊ตฌํ์๋ ์์๋๋ผ", |
| "๋๊ฐ ์ฐ๋ฆฌ๋ฅผ ๊ทธ๋ฆฌ์ค๋์ ์ฌ๋์์ ๋์ผ๋ฆฌ์ ํ๋์ด๋ ๊ณค๊ณ ๋ ๋ฐํด๋ ๊ธฐ๊ทผ์ด๋ ์ ์ ์ด๋ ์ํ์ด๋ ์นผ์ด๋ด", |
| "๊ธฐ๋ก๋ ๋ฐ ใฑ)์ฐ๋ฆฌ๊ฐ ์ข
์ผ ์ฃผ๋ฅผ ์ํ์ฌ ์ฃฝ์์ ๋นํ๊ฒ ๋๋ฉฐ ๋์ด ๋นํ ์ ๊ฐ์ด ์ฌ๊น์ ๋ฐ์๋์ด๋ค ํจ๊ณผ ๊ฐ์ผ๋๋ผ", |
| "๊ทธ๋ฌ๋ ์ด ๋ชจ๋ ์ผ์ ์ฐ๋ฆฌ๋ฅผ ์ฌ๋ํ์๋ ์ด๋ก ๋ง๋ฏธ์์ ์ฐ๋ฆฌ๊ฐ ๋๋ํ ์ด๊ธฐ๋๋๋ผ", |
| "๋ด๊ฐ ํ์ ํ๋
ธ๋ ์ฌ๋ง์ด๋ ์๋ช
์ด๋ ์ฒ์ฌ๋ค์ด๋ ๊ถ์ธ์๋ค์ด๋ ํ์ฌ ์ผ์ด๋ ์ฅ๋ ์ผ์ด๋ ๋ฅ๋ ฅ์ด๋", |
| "๋์์ด๋ ๊น์์ด๋ ๋ค๋ฅธ ์ด๋ค ํผ์กฐ๋ฌผ์ด๋ผ๋ ์ฐ๋ฆฌ๋ฅผ ์ฐ๋ฆฌ ์ฃผ ๊ทธ๋ฆฌ์ค๋ ์์ ์์ ์๋ ํ๋๋์ ์ฌ๋์์ ๋์ ์ ์์ผ๋ฆฌ๋ผ" |
| ]; |
| |
| const body = document.body; |
| const verseDisplay = document.getElementById('verse-display'); |
| const prevButton = document.getElementById('prev-verse'); |
| const nextButton = document.getElementById('next-verse'); |
| const rateSlider = document.getElementById('rate-slider'); |
| const toggleModeButton = document.getElementById('toggle-mode'); |
| let currentVerseIndex = 0; |
| |
| |
| |
| function displayVerse(index) { |
| |
| if (index < 0 || index >= verses.length) { |
| return; |
| } |
| |
| currentVerseIndex = index; |
| |
| |
| verseDisplay.innerHTML = ''; |
| |
| |
| const verseDiv = document.createElement('div'); |
| verseDiv.classList.add('verse', 'active'); |
| |
| |
| const verseNumberSpan = document.createElement('span'); |
| verseNumberSpan.classList.add('verse-number'); |
| verseNumberSpan.textContent = `๋ก๋ง์ 8์ฅ ${currentVerseIndex + 1}์ `; |
| verseDiv.appendChild(verseNumberSpan); |
| |
| |
| const parts = verses[currentVerseIndex].split(' '); |
| |
| |
| const partsContainer = document.createElement('div'); |
| partsContainer.classList.add('parts-container'); |
| |
| |
| parts.forEach(partText => { |
| |
| if (partText.trim() !== '') { |
| const partDiv = document.createElement('div'); |
| partDiv.classList.add('part'); |
| |
| partDiv.textContent = partText.trim(); |
| |
| |
| partDiv.addEventListener('click', function() { |
| |
| |
| |
| const allPartsInVerse = partsContainer.querySelectorAll('.part'); |
| |
| |
| allPartsInVerse.forEach(p => { |
| p.classList.remove('active'); |
| }); |
| |
| |
| this.classList.add('active'); |
| |
| |
| |
| |
| const textToSpeak = this.textContent; |
| |
| |
| if (textToSpeak && 'speechSynthesis' in window) { |
| |
| window.speechSynthesis.cancel(); |
| |
| |
| const utterance = new SpeechSynthesisUtterance(textToSpeak); |
| |
| |
| utterance.lang = 'ko-KR'; |
| |
| |
| utterance.rate = parseFloat(rateSlider.value); |
| |
| |
| |
| window.speechSynthesis.speak(utterance); |
| } else if (!('speechSynthesis' in window)) { |
| console.warn("Text-to-speech is not supported in this browser."); |
| } |
| |
| }); |
| |
| |
| partsContainer.appendChild(partDiv); |
| } |
| }); |
| |
| |
| verseDiv.appendChild(partsContainer); |
| |
| |
| verseDisplay.appendChild(verseDiv); |
| |
| |
| prevButton.disabled = currentVerseIndex === 0; |
| nextButton.disabled = currentVerseIndex === verses.length - 1; |
| |
| if ('speechSynthesis' in window) { |
| window.speechSynthesis.cancel(); |
| } |
| } |
| |
| |
| prevButton.addEventListener('click', () => { |
| displayVerse(currentVerseIndex - 1); |
| }); |
| |
| |
| nextButton.addEventListener('click', () => { |
| displayVerse(currentVerseIndex + 1); |
| }); |
| |
| |
| toggleModeButton.addEventListener('click', () => { |
| |
| const isPreviewMode = body.classList.contains('preview-mode'); |
| |
| if (isPreviewMode) { |
| |
| body.classList.remove('preview-mode'); |
| body.classList.add('hide-mode'); |
| toggleModeButton.textContent = "๊ธ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ"; |
| } else { |
| |
| body.classList.remove('hide-mode'); |
| body.classList.add('preview-mode'); |
| toggleModeButton.textContent = "๊ธ์ ๊ฐ๋ฆฌ๊ธฐ"; |
| } |
| |
| if ('speechSynthesis' in window) { |
| window.speechSynthesis.cancel(); |
| } |
| |
| const allPartsInVerse = verseDisplay.querySelectorAll('.part'); |
| allPartsInVerse.forEach(p => p.classList.remove('active')); |
| }); |
| |
| |
| |
| document.addEventListener('DOMContentLoaded', () => { |
| displayVerse(currentVerseIndex); |
| }); |
| |
| </script> |
| </body> |
| </html> |