Если я правильно понимаю, у вас есть 8 вопросов, но только один виден одновременно, и когда вы нажимаете кнопку next (не отображается в вашем коде), текущий вопрос скрывается, а следующий отображается .
Если это так, вот предложение
/* CSS */
.question-container {
display: none;
}
.question-container-visible {
display: block;
}
/* JavaScript */
const questionArray = [...document.getElementsByClassName("question-container")]; // this is of type Array
let questionIndex = 0; // keep track of the question which must be shown
nextButton.addEventListener('click', evt => {
questionIndex++; // show the next question
showQuestion();
});
function showQuestion() {
questionArray.forEach((question, index) => {
// show only the question which has an index equal to questionIndex
question.classList.toggle('question-container-visible', index === questionIndex);
});
}
showQuestion(); // show the first question
Если мы предположим, что первый вопрос имеет класс question-container-visible
, с самого начала код JS может упроститься до
const questionArray = [...document.getElementsByClassName("question-container")];
let questionIndex = 0;
nextButton.addEventListener('click', evt => {
questionIndex++;
questionArray.forEach((question, index) => {
question.classList.toggle('question-container-visible', index === questionIndex);
});
});