728x90
๋ฐ์ํ
โญ๏ธ ๊ฐ๊ด์ ๋จ์ผ ๋ฌธํญ (์ ๋ต ์ค๋ต ํ์ธ) โญ๏ธ
01. ๋ง๋๋ ์์
1) ์ถ๋ ฅํ ๋ด์ฉ์ด ๋ค์ด์๋ ์์ ์ ํํ๊ธฐ
2) ์ง๋ฌธ๊ณผ ์ ๋ต ๋ด์ฉ, ํ์ํ ๊ฐ ์
๋ ฅํ๊ธฐ
3) ์ง๋ฌธ ๋ด์ฉ ์ถ๋ ฅํ๊ธฐ
4) ์ ๋ต ๋ด์ฉ ์จ๊ฒจ๋๊ธฐ
5) ์ ๋ต ํ์ธ ๋ฐ ๊ฒฐ๊ณผ๊ฐ ์ค์ ํ๊ธฐ
6) ์ ๋ต ๋ฒํผ์ ๋์ ์ค์ ํ๊ธฐ
02. < script > ์ ์์ฑํ๊ธฐ
// 01. ์ถ๋ ฅํ ๋ด์ฉ์ด ๋ค์ด์๋ ์์ ์ ํํ๊ธฐ (์ฌ๋ฌ๊ฐ์ ์ถ๋ ฅ๊ฐ์ด ๋์ค๋ ๋ถ๋ถ์๋ง ๋์ All์ ๋ถ์ฌ์ค.)
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 quizView = document.querySelector(".quiz__view"); // ๊ฐ์์ง ํ์
const quizSelcets = document.querySelector(".quiz__selects"); // ๊ฐ๊ด์ ๋ณด๊ธฐ ์ง๋ฌธ
const quizChoice = quizSelcets.querySelectorAll(".choice");
// quizSelcets ์์์ ์ฐพ์ผ๋ผ๊ณ querySelectorAll ์์ ์ด๋ฆ ๋ณ๊ฒฝ, ์กฐ๊ธ ๋ ๋น ๋ฅด๊ฒ ์ฐพ์
const quizSelect = quizSelcets.querySelectorAll(".select");
// quizChoice -> ๋ณด๊ธฐ ๋ด์ฉ์ด ๋ค์ด๊ฐ quizSelect -> ํ์ ๋๊ทธ๋ผ๋ฏธ
// 02. ์ง๋ฌธ๊ณผ ์ ๋ต ๋ด์ฉ, ์ถ๋ ฅ์ ํ์ํ ๊ฐ ์
๋ ฅํ๊ธฐ (๋ค์์ ๊ฐ, ๊ฐ์ฒด๋ก ํํ)
const quizInfo = [
{
answerType: "์น ๋์์ธ ๊ธฐ๋ฅ์ฌ (2016๋
7์)",
answerNum: "1",
answerAsk: "์ ์ฌ์กฐํ์ ๋ํ ์ค๋ช
์ผ๋ก ์ณ์ง ์์ ๊ฒ์?",
answerChoice: ["์จํํจ์ ์ป์ ์ ์๋ค.", "๋๋๋ก ๋จ์กฐ๋ก์ ์ง ์ ์์ผ๋ฏ๋ก ๋ฐ๋ณต์ ์ํ ๋ฆฌ๋ฌ๊ฐ์ ์ด๋์ด ๋ธ๋ค.", "๋์ผํ์ง ์๋๋ผ๋ ์๋ก ๋ฎ์ ํํ์ ๋ชจ์, ์ข
๋ฅ, ์๋ฏธ, ๊ธฐ๋ฅ๋ผ๋ฆฌ ์ฐํฉํ์ฌ ํ์กฐ๋ฅผ ๋ง๋ค ์ ์๋ค.", "์ํ๊ณผ ์์ง, ์ง์ ๊ณผ ๊ณก์ ๋ฑ ๋๋ฆฝ๋ ๋ชจ์์ด๋ ์ข
๋ฅ์์ ๋ํ๋๋ค."],
answerResult: "4", // ์ฌ์ฉ์์ ๋ต๊ณผ ์ผ์นํ๋์ง ํ์ธํ ๋ ํ์ํ๋ฏ๋ก ์
๋ ฅํด์ค.
answerEx: "์ ์ฌ์กฐํ : ์์์ด ์๋ก ์ ์ด์ธ๋ฆฌ๋ ์กฐํ๋ฅผ ๋งํ๋ฉฐ, ์์์ด๋ ์ฑ๊ฒฉ์ด ๋น์ทํ ์์์ ๋ฐฐ์์์ ์ป์ด์ง๋๋ค. ์น๊ทผ๊ฐ๊ณผ ๋ถ๋๋ฌ์์ ์ฃผ๋ ํจ๊ณผ๊ฐ ์์ง๋ง ๋จ์กฐ๋ก์์ ์ค ์๋ ์์ต๋๋ค.", // ์ ๋ต ํด์ค
}
];
// 03. ์ง๋ฌธ ๋ด์ฉ ์ถ๋ ฅํ๊ธฐ : for๋ฌธ์ด ์ง๋ฌธ ๋ด์ฉ ์ถ๋ ฅ๊ณผ ์ ๋ต ํ์ธ ์ค์ ์ 2๋ฒ ์ฐ์ด๋ฏ๋ก, ํจ์๋ก ๊ฐ์ธ์ ํน์ ๋ชจ๋ฅผ ์ถฉ๋์ ๋ฐฉ์งํจ
function updateQuiz(){
quizType.textContent = quizInfo[0].answerType;
quizNumber.textContent = quizInfo[0].answerNum + ". ";
quizAsk.textContent = quizInfo[0].answerAsk;
quizResult.textContent = quizInfo[0].answerEx; // ์ ๋ต ๋ด์ฉ์ ํด์ค์ ์ถ๋ ฅ
for( i=0; i<4; i++){
quizChoice[i].textContent = quizInfo[0].answerChoice[i];
} // ๋ณด๊ธฐ ์ถ๋ ฅ : quizChoice ์ i๋ฒ์งธ ๊ฐ = quizInfo[0] ์์ ์๋ answerChoice i๋ฒ์งธ ๊ฐ์ ์ถ๋ ฅ
// 04. '์ ๋ต ํ์ธ ๋ฒํผ' ๋ฐ์ผ๋ก ๋ณด์ด๋ '์ ๋ต ๋ด์ฉ์ ํด์ค' ์จ๊ฒจ๋๊ธฐ
quizResult.style.display = "none";
}
updateQuiz(); // ํจ์์ ๊ฐ ์ถ๋ ฅ
// 05. ์ ๋ต ํ์ธ ๋ฐ ๊ฒฐ๊ณผ๊ฐ ์ค์ ํ๊ธฐ : ์ฌ์ฉ์๊ฐ ์ ํํ ์ ๋ต == ๋ฌธ์ ์ ๋ต์ด ์ผ์นํ๋์ง ํ์ธํ๊ธฐ ์ํด์๋,
// ์ฌ์ฉ์๊ฐ ํด๋ฆญํ ๋ฒํผ input --> checked ํ์๋ ๊ฒ์ ํ์ธํด์ผ ํ๋ค.
// ์ฒซ๋ฒ์งธ, ๋๋ฒ์งธ, ์ธ๋ฒ์งธ, ๋ค๋ฒ์จฐ ๋ฒํผ์ ์ฒดํฌ๊ฐ ๋๋์ง ๊ฐ๊ฐ ํ์ธํด์ผ ํ๋ฏ๋ก for ๋ฌธ์ ์ฌ์ฉํ์.
// ๋ฌธ์ ์ถ๋ ฅ์ ๊ฒฝ์ฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก ํจ์๋ก ๊ฐ์ธ์ ํน์ ๋ชจ๋ฅผ ์ถฉ๋์ ๋ฐฉ์งํจ
function answerQuiz(){
for( i=0; i<quizSelect.length; i++){
if(quizSelect[i].checked == true){ // ๋ณด๊ธฐ์ ๋๊ทธ๋ผ๋ฏธ์ ์ฒดํฌ๊ฐ ๋ ์ํ๋ผ๋ฉด,
// ์ฒดํฌ๋ ๋ฒํธ == ์ ๋ต ๋ฒํธ๊ฐ ์ผ์นํ๋์ง ํ์ธ ํ์
if(quizSelect[i].value == quizInfo[0].answerResult){
// value ๋ ๋ณด๊ธฐ์ ์ด๋ฆ ๊ฐ์ ์๋ฏธ. ์ฌ๊ธฐ์๋ div value ์ ์
๋ ฅํ ์ซ์ 1,2,3,4
// alert("์ ๋ต") ์์๋ก ๊ฒฐ๊ณผ ํ์ธ
quizView.classList.add("like"); // ๊ฐ์์ง์ ์๋ ํ์ ์ ์ถ๋ ฅํ๊ณ
} else { // ์ผ์นํ์ง ์์ผ๋ฉด
// alert("์ค๋ต")
quizView.classList.add("dislike"); // ๊ฐ์์ง์ ์ฐ๋ ํ์ ์ ์ถ๋ ฅํด๋ผ
quizResult.style.display = "block";
quizConfirm.style.display = "none";
}
} else {
}
}
}
// 06. ์ ๋ต ๋ฒํผ์ ๋์ ์ค์ ํ๊ธฐ
quizConfirm.addEventListener("click", answerQuiz); // ์ ๋ต ๋ฒํผ์ ํด๋ฆญํ๋ฉด, ๋ต๋ณ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ด๋ผ
03. ๊ฒฐ๊ณผ๋ณด๊ธฐ
728x90
๋ฐ์ํ
'Javascript > Effect' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
search Effect (1) (2) | 2022.08.18 |
---|---|
ํด์ฆ ๋ง๋ค๊ธฐ (5) ๊ฐ๊ด์ ๋ค์ ๋ฌธํญ (3) | 2022.08.16 |
ํด์ฆ ๋ง๋ค๊ธฐ (3) ์ฃผ๊ด์ ๋ค์ ๋ฌธํญ (6) | 2022.08.05 |
ํด์ฆ ๋ง๋ค๊ธฐ (2) ์ฃผ๊ด์ ๋จ์ผ ๋ฌธํญ (4) | 2022.08.04 |
ํด์ฆ ๋ง๋ค๊ธฐ (1) ์ ๋ต ํ์ธํ (5) | 2022.08.04 |
๋๊ธ