본문 바로가기
Effect

퀴즈 유형 04

by 🐬마뇽뇽 마뇽🦄 2022. 8. 8.
728x90

04. 퀴즈 유형

객관식 문제로 답을 선택하고 정답을 확인했을 때에 true인지 false인지 구별하였습니다..


자바스크립트입니다. 객체 안에 객체를 넣어, 여러가지 보기를 보여줄 수 있게 하였습니다.

    	//선택자
        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")                           //객관식 보기

        //문제정보
        const quizInfo = [
            {
                answerType : "웹 디자인 기능사",
                answerNum : "1. ",
                answerAsk : "컴퓨터 그래픽스 시스템의 입력 장치로 옳지 않은 것은?",
                answerChoice : [ "빔 프로젝터" , "키보드", "마우스", "스캐너"],
                answerResult : "1" ,
                answerEx : "빔 프로젝터는 상영하는 장치이다."
            }
        ]

	
       function updateQuiz(){
        //문제출력
        quizType.textContent = quizInfo[0].answerType;
        quizNumber.textContent = quizInfo[0].answerNum;
        quizAsk.textContent = quizInfo[0].answerAsk;
        quizResult.textContent = quizInfo[0].answerEx;
        
        //보기출력
        // for(let i = 0; i<4; i++){
        //     quizChoice[i].textContent = quizInfo[0].answerChoice[i];
        // }

        quizInfo[0].answerChoice.forEach( (e,i) => {
            quizChoice[i].textContent = quizInfo[0].answerChoice[i];
        });

        //해설 숨기기
        quizResult.style.display = "none"

        //정답확인
        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"
                    }
                }
            }
        }

        //정답클릭
        quizConfirm.addEventListener("click",answerQuiz) //answerQuiz를 넣어 클릭했을 때에 함수를 만들 수 있다.

       }
       updateQuiz(); 
728x90

'Effect' 카테고리의 다른 글

검색 유형 02  (4) 2022.08.17
검색 유형 01  (6) 2022.08.16
퀴즈 유형 03  (7) 2022.08.05
퀴즈 유형 02  (7) 2022.08.04
퀴즈 유형 01  (8) 2022.08.04

고양이 고양이
고양이 고양이
고양이 고양이