ํด์ฆ ๋ง๋ค๊ธฐ 02
์ด๋ฒ ์๊ฐ์๋ ๊ทธ ๋์ ๋ฐฐ์ ๋ JavaScript๋ฅผ ์ด์ฉํ์ฌ ํด์ฆ๋ฅผ ๋ง๋ค์ด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ด๋ฒ ํ์ต ๋ด์ฉ์ ์ ํ์ฉํ์ฌ ์น๋์์ธ๊ธฐ๋ฅ์ฌ ์ํ ๊ณต๋ถ ์ด์ฌํ ํด ๋ด
์๋ค!
๋ณ์(let)์ ์์(const)์ ์ฟผ๋ฆฌ ์
๋ ํฐ ๊ฐ์ ์ ์ฅ์ํค๊ณ , ๊ทธ ๋์ ๋ฐฐ์ด ์คํฌ๋ฆฝํธ๋ฅผ
ํตํด ๋ฌธ์ ์ ๋ณด๋ฅผ HTML ํ๊ทธ์ ์ถ๋ ฅ์ํค๊ณ , ์ ๋ต์ ์จ๊ฒผ๋ค๊ฐ ๋ฒํผ์ ๋๋ฌ ๋ณด์ด๊ฒ ํ๋
๋ฑ์ ๋ค์ํ ํจ๊ณผ๋ค์ ๊ตฌํ์์ผ๋ด
์๋ค!
์ฃผ๊ด์ ์ ํ
๋๋ฒ์งธ ์ฃผ๊ด์ ์ ํ์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ค์ ๋ถ์ฐ ์ค๋ช
(์ฃผ์ ์ฒ๋ฆฌ๋จ)์ด๋ค.
HTML๊ณผ CSS ์์ค๋ฅผ ํจ๊ป ๋ณด๊ณ ์ถ๋ค๋ฉด ๋งจ ์๋์ '์๋ณธ ์์ค ๋ณด๊ธฐ' ๋ฒํผ์ ๋๋ฅผ ๊ฒ.
// ์ ํ์ : ์์ const๋ฅผ ํ์ํ ๋งํผ ์ ์ธํ ๋ค์ HTML ์์ญ์ div, ์๋งจํฑ ํ๊ทธ ๋ฑ์ Class๋ช
๊ณผ ์ฐ๊ฒฐ์ํจ๋ค.
//const ์ ์ ํ ์์ ์ด๋ฆ = document.querySelector("Class๋ช
");
const quizType = document.querySelector(".quiz__type"); // ํด์ฆ ์ข
๋ฅ
const quizNumber = document.querySelector(".quiz__question .number"); // ํด์ฆ ๋ฒํธ
const quizAsk = document.querySelector(".quiz__question .ask"); // ํด์ฆ ์ง๋ฌธ
const quizConfirm = document.querySelector(".quiz__answer .confirm"); // ์ ๋ต ํ์ธ ๋ฒํผ
const quizResult = document.querySelector(".quiz__answer .result"); // ์ ๋ต ๊ฒฐ๊ณผ
const quizInput = document.querySelector(".quiz__answer .input"); // ์ฌ์ฉ์ ์ ๋ต
const quizView = document.querySelector(".quiz__view"); // ๊ฐ์์ง
// ๋ฌธ์ ์ ๋ณด
// HTML ๋ถ๋ถ์ ๋น์๋๊ณ ์ด๊ณณ์๋ค๊ฐ ์ถ๋ ฅํ๊ณ ์ ํ๋ ๊ฐ์ ์
๋ ฅํ๋ค. ์
๋ฐ์ดํธ ์ ์ด๊ณณ์์ ์์ ํ ๊ฒ.
const answerType = "์น๋์์ธ๊ธฐ๋ฅ์ฌ";
const answerNum = "2";
const answerAsk = "๊ธฐ์
์ ์๋ก์ด ์ด๋
๊ตฌ์ถ์ ํ์ํ ์ด๋ฏธ์ง์ ์ปค๋ฎค๋์ผ์ด์
์์คํ
์ ์๋์ , ๊ณํ์ ์ผ๋ก ๋ง๋ค์ด๋ด๋ ๊ธฐ์
์ด๋ฏธ์งํตํฉ ์ ๋ต์ ๋ฌด์์ธ๊ฐ์?";
let answerResult = "CIP"; // ์์ const ์๋ ๋ณ์ let ์จ์ค์ผ ํจ
// ๋ฌธ์ ์ถ๋ ฅ
// ์์ '๋ฌธ์ ์ ๋ณด'์์ ์์์ ์ ์ฅํด๋์๋ ๊ฐ์ ์ถ๋ ฅ์ํค๋ ๋ฐฉ๋ฒ์
// TMI) innerText ๋์ textContent๋ฅผ ์ฌ์ฉํ๋ฉด ์ต์คํ๋ก์ด๊น์ง ํธํ ๊ฐ๋ฅ.
quizType.innerText = answerType;
quizNumber.innerText = "0" + answerNum + ". "; // ๋ฌธ์ ๋ฒํธ๋ฅผ "0N. " ์์ผ๋ก ์ถ๋ ฅ์ํด
quizAsk.innerText = answerAsk;
quizResult.innerText = "์ ๋ต์ โ " + answerResult + " โ ์
๋๋ค.";
// ์ ๋ต ์จ๊ธฐ๊ธฐ
// '์ ๋ต ํ์ธ' ๋ฒํผ์ ๋๋ฅด๊ธฐ ์ ๊น์ง๋ ์ ๋ต์ ์จ๊ฒจ์ผ ํจ
quizResult.style.display = "none";
// ์ ๋ต ํ์ธ - ์ ๋ต ๋ฒํผ ๋๋ ์ ๋
quizConfirm.addEventListener("click", () => {
quizInput.style.display = "none"; // ์ ๋ต ๋ฒํผ์ ๋๋ฅด๋ฉด ์
๋ ฅ์ฐฝ์ ์์ค๋ค
quizResult.style.display = "block"; // ์จ๊ฒจ์ ธ์๋ ์ ๋ต์ ๊ณต๊ฐ์ํจ๋ค
quizConfirm.style.display = "none"; // ์ ๋ต ํ์ธ ๋ฒํผ์ ์์ค๋ค
// ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ์ ๋ต
const userWord = quizInput.value.toLowerCase().trim(); // ์ฌ์ฉ์์ ์
๋ ฅ๊ฐ , toLowerCase ์
๋ ฅํ๋ฉด ๋์๋ฌธ์ ๊ตฌ๋ถ ์ฌ๋ผ์ง , ์ฌ๋ฐฑ ์๊ดX
answerResult = answerResult.toLowerCase().trim();
// ์ฝ์์ฐฝ ํ
์คํธ์ฉ (ํ
์คํธ ๋ง์น๋ฉด ์ฃผ์์ฒ๋ฆฌํ๊ธฐ!)
// console.log(userWord);
// console.log(answerResult);
// ์ฌ์ฉ์ ์ ๋ต == ๋ฌธ์ ์ ๋ต (์ผ์นํ๋์ง ํ์ธํ๊ธฐ), if๋ฌธ ์ฌ์ฉ
if(userWord == answerResult){
// ์ ๋ต์ผ ๊ฒฝ์ฐ
quizView.classList.add("like"); // ๊ฐ์์ง ๋ฏธ์์ง๋๋ก ํ๊ธฐ
} else {
// ์ค๋ต์ผ ๊ฒฝ์ฐ
quizView.classList.add("dislike"); // ๊ฐ์์ง ์ฌํผํ๋๋ก ํ๊ธฐ
}
});
๋๊ธ