02-01 Let's Practice Vocab
TOPIC: setNextQuestion()
関数の定義
CHECK
nextBtnEl
, answersEl
の設定
resetState()
の定義
- Next ボタンを隠す
- while ループを使い answersEl の中に child が見つかるうちは Answer Element のなかの child を消す。つまり Answer Element の中身を空っぽにする
- 4 択が入っている
answersEl
が空っぽになるのを確認する
const startBtnEl = document.getElementById("start-btn")
const questionAnswersContainerEl = document.getElementById(
"question-answers-container"
)
const headerContainerEl = document.getElementById("header-container")
const headerSmallEl = document.getElementById("header-small")
const nextBtnEl = document.getElementById("next-btn")
const answersEl = document.getElementById("answers")
let shuffledQuestions
let currentQuestionIndex
startBtnEl.addEventListener("click", startGame)
function startGame() {
startBtnEl.classList.add("hide")
shuffledQuestions = questions.sort(() => Math.random() - 0.5)
currentQuestionIndex = 0
questionAnswersContainerEl.classList.remove("hide")
headerContainerEl.style["display"] = "none"
headerSmallEl.classList.remove("hide")
setNextQuestion()
}
function setNextQuestion() {
resetState()
}
function resetState() {
nextBtnEl.classList.add("hide")
while (answersEl.children[0]) {
answersEl.removeChild(answersEl.children[0])
}
}
const questions = [
{
target_num: 1,
jp: "現代の科学技術は私たちの生活を大いに[向上させた]。",
en: "Modern technology has greatly ( ) our lives.",
answers: [
{
text: "considered",
correct: false,
},
{
text: "improved",
correct: true,
},
{
text: "concerned",
correct: false,
},
{
text: "included",
correct: false,
},
],
},
{
target_num: 2,
jp: "生活の質はエネルギー使用に直接[関連し]てはいない。",
en: "The quality of life is not directly ( ) to energy use.",
answers: [
{
text: "produced",
correct: false,
},
{
text: "related",
correct: true,
},
{
text: "provided",
correct: false,
},
{
text: "improved",
correct: false,
},
],
},
{
target_num: 3,
jp: "言語はすべて私たちに社会に関する貴重な情報を[与える]ことができる。",
en: "All languages can ( ) us with valuable information about society.",
answers: [
{
text: "provide",
correct: true,
},
{
text: "include",
correct: false,
},
{
text: "relate",
correct: false,
},
{
text: "concern",
correct: false,
},
],
},
]