๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์ดํŽ™ํŠธ

ํ€ด์ฆˆ ์ดํŽ™ํŠธ - ๊ฐ๊ด€์‹ ์œ ํ˜•

by Youcodein 2022. 8. 8.
728x90
๋ฐ˜์‘ํ˜•

๊ฐ๊ด€์‹ ์œ ํ˜•

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

1. ์„ ํƒ์ž๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

2. ๋ฌธ์ œ ์ •๋ณด ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
2-1. ๋ฌธ์ œ ์ถœ๋ ฅ ํ•จ์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
2-1-1. ์„ ํƒ์ง€๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
2-1-2. ๋ฌธ์ œ์˜ ํ•ด์„ค์„ ์ˆจ๊น๋‹ˆ๋‹ค.

3. ์ •๋‹ต์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
3-1. ์‚ฌ์šฉ์ž๊ฐ€ ์“ด ์ •๋‹ต๊ณผ ๋ฌธ์ œ์˜ ์ •๋‹ต์ด ๋งž๋Š”์ง€ ํ™•์ธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
3-2. ์‚ฌ์šฉ์ž๊ฐ€ ๊ณ ๋ฅธ input ๋ฐ•์Šค๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  (โ€ปinnerText๋Š” ๋ฌธ์ž๋งŒ์„ ์ธ์‹ํ•˜๊ณ  innerHTML์€ ํƒœ๊ทธ๊นŒ์ง€ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค.)
4. ์ •๋‹ต์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

//์„ ํƒ์ž
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 quizSelects = document.querySelector(".quiz__selects");               //๊ฐ๊ด€์‹ ๋ณด๊ธฐ
const quizChoice = quizSelects.querySelectorAll(".choice");                    //๊ฐ๊ด€์‹ ๋ณด๊ธฐ
const quizSelect = quizSelects.querySelectorAll(".select");                    //๊ฐ๊ด€์‹ ๋ณด๊ธฐ


//1. ๋ฌธ์ œ ์ •๋ณด
const quizInfo = [
    {
    answerType : "์›น๋””์ž์ธ๊ธฐ๋Šฅ์‚ฌ 2022๋…„ 01ํšŒ",
    answerNum : "1",
    answerAsk : "์ž์—ฐ์—์„œ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๊ณ  ์˜จํ™”ํ•จ์ด ์žˆ์ง€๋งŒ, ๋•Œ๋กœ๋Š” ๋‹จ์กฐ๋กœ์›€์„ ์ฃผ๋Š” ๋””์ž์ธ ์›๋ฆฌ๋Š”?",
    answerChoice : ["์œ ์‚ฌ์กฐํ™”", "๋Œ€๋น„์กฐํ™”", "๋Œ€์นญ", "๋น„๋Œ€์นญ"],
    answerResult : "1",
    answerEx : "์ž์—ฐ์—์„œ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๊ณ  ์˜จํ™”ํ•จ์ด ์žˆ์ง€๋งŒ, ๋•Œ๋กœ๋Š” ๋‹จ์กฐ๋กœ์›€์„ ์ฃผ๋Š” ๋””์ž์ธ ์›๋ฆฌ๋Š” ์œ ์‚ฌ์กฐํ™”๋‹ค.",
    }
];

//2. ๋ฌธ์ œ ์ถœ๋ ฅ
    //2-1. ๋ฌธ์ œ ์ถœ๋ ฅ ํ•จ์ˆ˜
    function updateQuiz() {
        

        quizType.textContent = quizInfo[0].answerType;
        quizNumber.textContent = quizInfo[0].answerNum + ". ";
        quizAsk.textContent = quizInfo[0].answerAsk;
        quizResult.textContent = quizInfo[0].answerEx;

        //2-1-1. ๋ณด๊ธฐ ์ถœ๋ ฅ
        for ( let i = 0; i<4; i++) {
            quizChoice[i].textContent = quizInfo[0].answerChoice[i];
        }
        //2-1-2. ํ•ด์„ค ์ˆจ๊ธฐ๊ธฐ
        quizResult.style.display = "none"
    }
    
    updateQuiz()

//3. ์ •๋‹ต ํ™•์ธ
function answerQuiz() {
    //์‚ฌ์šฉ์ž ์„ ํƒํ•œ ์ •๋‹ต == ๋ฌธ์ œ ์ •๋‹ต
    //์‚ฌ์šฉ์ž๊ฐ€ ํด๋ฆญํ•œ input๋ฐ•์Šค๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•œ๋‹ค. ---> checked ํ™•์ธ

    for( let i=0; i<quizSelect.length; i++){
        if(quizSelect[i].checked == true){  //๋ณด๊ธฐ์— ์ฒดํฌ๊ฐ€ ๋œ ์ƒํƒœ
            //์ฒดํฌ๋œ ๋ฒˆํ˜ธ == ๋ฌธ์ œ ๋ฒˆํ˜ธ
            if(quizSelect[i].value == quizInfo[0].answerResult){
                // alert("์ •๋‹ต")
                quizView.classList.add("like");
            } else {
                // alert("์˜ค๋‹ต")
                quizView.classList.add("dislike");
                quizResult.style.display = "block"
                quizConfirm.style.display = "none"
            }
        }
    }
}


//4. ์ •๋‹ต ํด๋ฆญ
quizConfirm.addEventListener("click",answerQuiz);

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€