πŸ€ͺ μžκΈ°μ†Œκ°œ νŽ˜μ΄μ§€ λ§Œλ“€κΈ° - 3

ν•˜νƒœν˜„Β·2020λ…„ 10μ›” 19일
0

μžκΈ°μ†Œκ°œ νŽ˜μ΄μ§€

λͺ©λ‘ 보기
3/4
post-thumbnail

μ˜€λŠ˜μ€ Kingth Quiz 라고 κ°„λ‹¨ν•œ μΉ΄λ“œ ν˜•νƒœλ‘œ λ‚˜μ— λŒ€ν•œ 질문과 닡변을 λ§Œλ“€μ–΄ λ³΄μ•˜λ‹€.

  • μ§ˆλ¬Έμ— λŒ€ν•œ 닡변을 λ°°μ—΄κ³Ό 객체둜 μž‘μ„±
const data = [
    {
      question: "μ €λŠ” λͺ‡μ‚΄ μΌκΉŒμš”?",
      anwser: "1993년에 νƒœμ–΄λ‚œ 28μ‚΄μž…λ‹ˆλ‹€.",
    },
    {
      question: "μ €μ˜ ν˜ˆμ•‘ν˜•μ€ λ¬΄μ—‡μΌκΉŒμš”?",
      anwser: "Oν˜• μž…λ‹ˆλ‹€.",
    },
    ]
  • λ°°μ—΄μ˜ 각 μΈλ±μŠ€μ— μ ‘κ·Όν•˜λŠ” 방법은?
    data[index]
  • 객체의 각 속성에 μ ‘κ·Όν•˜λŠ” 방법은?
    data[index].question
    data[index].answer
  • DOM(Document Object Model)을 μ΄μš©ν•œ HTML λ¬Έμ„œ μ‘°μž‘
 for (let i = 0; i < data.length; i++) {
    const $quizCard = document.createElement("div");
    $quizCard.classList.add("quiz-card");
    $quizCard.id = i;
    $quizCard.innerText = data[i].question;
    $quizBoard.appendChild($quizCard);
  }

μœ„ μ½”λ“œλŠ” μΉ΄λ“œ ν•œμž₯을 λ§Œλ“€κ³  κ·Έ μ•ˆμ— μ§ˆλ¬Έμ„ μž‘μ„±ν•΄μ„œ HTMLλ¬Έμ„œμ— 보이도둝 μž‘μ„±ν•œ 것이닀.
HTMLμ—μ„œ μž‘μ„±ν•΄λ„ λ˜λŠ” λΆ€λΆ„μ΄μ§€λ§Œ ν˜„μž¬ νŽ˜μ΄μ§€μ—μ„œλŠ” 질문이 6κ°€μ§€κ°€ μžˆλ‹€.
그러면 μΉ΄λ“œλ₯Ό 6μž₯ λ§Œλ“œλŠ” HTMLꡬ문을 μž‘μ„±ν•΄μ•Όν•œλ‹€.
κ·Έ λ°˜λ³΅μž‘μ—…μ„ 쀄이기 μœ„ν•΄ javascriptμ—μ„œ μœ„ ꡬ문을 for으둜 6개의 elementλ₯Ό λ§Œλ“€μ–΄μ€¬λ‹€.

  • μ§ˆλ¬Έμ— λŒ€ν•œ Click Event λ°œμƒμ‹œ 닡변을 보여주도둝 λ§Œλ“¬
  for (let i = 0; i < $quizCard.length; i++) {
    $quizCard[i].addEventListener("click", () => {
      if ($quizCard[i].classList.contains("answer")) {
        $quizCard[i].classList.remove("answer");
        $quizCard[i].textContent = data[i].question;
        $quizCard[i].classList.add("click");
      } else {
        $quizCard[i].classList.add("answer");
        $quizCard[i].textContent = data[i].anwser;
        $quizCard[i].classList.remove("click");
      }
    });
  }
profile
μ™œ?λ₯Ό μƒκ°ν•˜λ©° κ°œλ°œν•˜κΈ°, λ‹€μ–‘ν•œ ν”„λ‘œμ νŠΈλ₯Ό κ²½ν—˜ν•˜λŠ” 것 λ˜ν•œ μ€‘μš”ν•˜μ§€λ§Œ λ‚΄κ°€ μ‚¬μš©ν•˜λŠ” 기술이 μ–΄λ–€ λ°°κ²½κ³Ό μ΄μœ μ—μ„œ λ§Œλ“€μ–΄μ§„ 건지, μ½”λ“œλ₯Ό μž‘μ„±ν•  λ•Œμ—λ„ 이게 μ΅œμ„ μ˜ 방법인지λ₯Ό λŠμž„μ—†μ΄ μ§ˆλ¬Έν•˜κ³  κ³ λ―Όν•˜μž. 이 과정은 μ•žμœΌλ‘œ 개발자둜 컀리어λ₯Ό μŒ“μ•„ λ‚˜κ°ˆ λ•Œ μ€‘μš”ν•œ 발판이 될 것이닀.

0개의 λŒ“κΈ€