首页 > 解决方案 > 提交后如何显示一个部分

问题描述

我试图在提交后显示结果框。如您所见,我有一个包含测验名称的部分和另一个包含问题列表的部分,其余部分是结果框。我希望在提交之前,旧屏幕包含测验的名称并且不显示结果框。选择并提交后,测验名称部分一直停留在屏幕上,问题列表变为禁用,结果框将出现在新屏幕上。

我怎样才能做到这一点?非常感谢。

/* the question list disapper */
function disappear(event) {
    const disapp = event.currentTarget;
    disapp.removeEventListener("click", disappear);

    const startquiz = document.querySelector("#introduction");
    const quizlist = document.querySelector("#quiz");

    startquiz.classList.add("hidden");
    quizlist.classList.remove("hidden");

    const questionlist = document.querySelector("#attempt-quiz");
    questionlist.scrollIntoView();
}
const disapp = document.querySelector("#introduction button");
disapp.addEventListener("click", disappear);

/* click to any of the answer */

function openPresent(event) {
    const answer = document.querySelectorAll(".option");
    for (let i = 0; i < answer.length; i++) {
        answer[i].style.backgroundColor = originalAnswerArray[i];
    }
    const input = event.target.querySelector("input")
    input.checked = true;
    event.target.style.backgroundColor = "blue";

}

const answer = document.querySelectorAll(".option");
let i;

let originalAnswerArray = [];
for (i = 0; i < answer.length; i++) {
    originalAnswerArray.push(answer[i].getAttribute("name"));
    answer[i].addEventListener("click", openPresent);
}

/* the score */

function score() {
    const ques01 = document.ques01.question1.value;
    const ques02 = document.ques02.question2.value;
    const ques03 = document.ques03.question3.value;
    const ques04 = document.ques04.question4.value;
    const ques05 = document.ques05.question5.value;
    const ques06 = document.ques06.question6.value;
    const ques07 = document.ques07.question7.value;
    const ques08 = document.ques08.question8.value;
    const ques09 = document.ques09.question9.value;
    const ques10 = document.ques10.question10.value;

    let count = 0;
    if (ques01 == 'option 1') {
        count++;
    }
    if (ques02 == 'option 1') {
        count++;
    }
    if (ques03 == 'option 1') {
        count++;
    }
    if (ques04 == 'option 1') {
        count++;
    }
    if (ques05 == 'option 1') {
        count++;
    }
    if (ques06 == 'option 1') {
        count++;
    }
    if (ques07 == 'option 1') {
        count++;
    }
    if (ques08 == 'option 1') {
        count++;
    }
    if (ques09 == 'option 1') {
        count++;
    }
    if (ques10 == 'option 1') {
        count++;
    }
    console.log(count);

}

const input = document.querySelectorAll(".option");
for (let k = 0; k < input.length; k++) {
    input[k].addEventListener("click", score);
}

function totalscore() {
    document.write('hello');
    const ques01 = document.ques01.question1.value;
    const ques02 = document.ques02.question2.value;
    const ques03 = document.ques03.question3.value;
    const ques04 = document.ques04.question4.value;
    const ques05 = document.ques05.question5.value;
    const ques06 = document.ques06.question6.value;
    const ques07 = document.ques07.question7.value;
    const ques08 = document.ques08.question8.value;
    const ques09 = document.ques09.question9.value;
    const ques10 = document.ques10.question10.value;

    let count = 0;
    if (ques01 == 'option 1') {
        count++;
    }
    if (ques02 == 'option 1') {
        count++;
    }
    if (ques03 == 'option 1') {
        count++;
    }
    if (ques04 == 'option 1') {
        count++;
    }
    if (ques05 == 'option 1') {
        count++;
    }
    if (ques06 == 'option 1') {
        count++;
    }
    if (ques07 == 'option 1') {
        count++;
    }
    if (ques08 == 'option 1') {
        count++;
    }
    if (ques09 == 'option 1') {
        count++;
    }
    if (ques10 == 'option 1') {
        count++;
    }


}
body {
    font-family: "Proxima Nova", Arial, Helvetica, sans-serif;
    font-size: 18px;
    color: #222222;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-direction: column;
}

header {
    border-bottom: 1px solid #ccc;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    width: 700px;
    height: 80px;
}

#coursename {
    font-family: Helvetica, sans-serif;
    font-size: 32px;
    font-weight: bold;
    color: #ee3322;
}

header span {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-direction: row;
}

#MRN {
    height: 50px;
    display: flex;
    justify-content: space-around;
    flex-direction: row;
    align-items: center;
}

#MRN span {
    background-color: #ffee00;
    border-radius: 100%;
    height: 50px;
    width: 50px;
    margin: 3px;
    text-align: center;
    transform: rotate(-30deg);
    font-weight: bold;
}

#MRN div {
    background-color: #ffee00;
    border-radius: 100%;
    width: 50px;
    height: 50px;
    text-align: center;
    transform: rotate(-30deg);
    padding: 10px;
}

article {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

#quiz-name {
    background-image: url(../starter_pack/images/background.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: middle;
    width: 700px;
    height: 425px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

h1 {
    background-color: rgba(255, 255, 255, 0.9);
    font-family: Pangolin, "Trebuchet MS", cursive;
    font-size: 60px;
    color: black;
    padding: 10px;
    max-width: 75%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

#author {
    font-size: 14px;
    text-align: center;
    margin-top: 18px;
}

#introduction {
    width: 700px;
}

#introduction h2,
#introduction p {
    margin: 18px 0 18px 0;
}

#startquiz {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px solid #f1f1f1;
    background-color: #f1f1f1;
    padding: 18px;
}

button {
    border: none;
    color: white;
    background-color: #2196F3;
    padding: 18px;
}

button:hover {
    background-color: #0d8bf2;
}

#attempt-quiz {
    width: 700px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
}

#attempt-quiz p {
    margin: 30px 0 30px 0;
}

form {
    cursor: pointer;
    width: 700px;
    margin: 30px 0 30px 0;
}

.option {
    border-top: 1px solid white;
    border-bottom: 1px solid white;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    width: auto;
    padding: 15px;
    background-color: #f1f1f1;
    position: relative;
}

.option:hover {
    background-color: #ddd;
}

label {
    margin-left: 15px;
}

.location {
    position: absolute;
    right: 0;
    margin: 10px;
    background-color: #d4edda;
}

#submit {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 18px;
    border: 1px solid #f1f1f1;
    background-color: #f1f1f1;
    padding: 18px;
}

#submit button {
    border: none;
    color: white;
    background-color: #4CAF50;
    padding: 18px;
}

#submit button:hover {
    background-color: #46a049;
}

.hidden {
    display: none;
}
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>HTML Quiz</title>
    <link rel="icon" type="image/png" href="images/favicon-32x32.png" sizes="32x32" />
    <link rel="icon" type="image/png" href="images/favicon-16x16.png" sizes="16x16" />
    <link href="https://fonts.googleapis.com/css?family=Pangolin:400,700|Proxima+Nova" rel="stylesheet" type="text/css">
    <link rel="stylesheet" href="style.css" />
    <script src="script.js" defer="true"></script>
</head>

<body>

    <header>

        <p id="coursename"><strong> WPR </strong> </p>
        <div id="MRN">

            <!-- <div>M</div> 
     <div>M</div> 
     <div>M</div> 
     <div>M</div> 
     */ -->
            <span>M</span>
            <span>E</span>
            <span>R</span>
            <span>N</span>
        </div>
    </header>


    <article>
        <section id="quiz-name">
            <h1 id="hello">HTML Quiz</h1> <br>
        </section>

        <p id="author"> By Minh Duc Nguyen </p>

        <section id="introduction">
            <h2> The Test </h2>


            <p>The test contains 10 questions and there is no time limit.</p>

            <p>The test is not official, it"s just a nice way to see how much you know, or don"t know, about HTML.</p>

            <h2>Count Your Score</h2>
            <p>
                You will get 1 point for each correct answer. At the end of the Quiz, your total score will be displayed. Maximum score is 10 points.
            </p>
            <div id="startquiz">
                <h2>Start the quiz</h2>
                <p> Good luck!</p>
                <button name="button" type="button">Start the HTML quiz ❯ </button>
            </div>
        </section>

        <section id="attempt-quiz">
            <div id="quiz" class="hidden">

                <p><strong> Question 1 of 10</strong></p>
                <p>Question 1</p>
                <form name="ques01">
                    <div class="option">
                        <input type="radio" name="question1" value="option 1">
                        <label><div >option 1 </div></label><br>

                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question1" value="option 2">
                        <label>option 2</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question1" value="option 3">
                        <label>option 3</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question1" value="option 4">
                        <label>option 4</label><br>
                        <div class="location"> </div>
                    </div>
                </form>

                <p><strong> Question 2 of 10</strong></p>
                <p>Question 2</p>
                <form name='ques02'>
                    <div class="option">
                        <input type="radio" name="question2" value="option 1">
                        <label><div >option 1 </div></label><br>
                    </div>
                    <div class="option">
                        <input type="radio" name="question2" value="option 2">
                        <label>option 2</label><br>
                    </div>
                    <div class="option">
                        <input type="radio" name="question2" value="option 3">
                        <label>option 3</label><br>
                    </div>
                    <div class="option">
                        <input type="radio" name="question2" value="option 4">
                        <label>option 4</label><br>
                    </div>
                </form>

                <p><strong> Question 3 of 10</strong></p>
                <p>Question 3</p>
                <form name="ques03">
                    <div class="option">
                        <input type="radio" name="question3" value="option 1">
                        <label><div >option 1 </div></label><br>

                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question3" value="option 2">
                        <label>option 2</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question3" value="option 3">
                        <label>option 3</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question3" value="option 4">
                        <label>option 4</label><br>
                        <div class="location"> </div>
                    </div>
                </form>

                <p><strong> Question 4 of 10</strong></p>
                <p>Question 4</p>
                <form name="ques04">
                    <div class="option">
                        <input type="radio" name="question4" value="option 1">
                        <label><div >option 1 </div></label><br>

                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question4" value="option 2">
                        <label>option 2</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question4" value="option 3">
                        <label>option 3</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question4" value="option 4">
                        <label>option 4</label><br>
                        <div class="location"> </div>
                    </div>
                </form>

                <p><strong> Question 5 of 10</strong></p>
                <p>Question 5</p>
                <form name="ques05">
                    <div class="option">
                        <input type="radio" name="question5" value="option 1">
                        <label><div >option 1 </div></label><br>

                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question5" value="option 2">
                        <label>option 2</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question5" value="option 3">
                        <label>option 3</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question5" value="option 4">
                        <label>option 4</label><br>
                        <div class="location"> </div>
                    </div>
                </form>

                <p><strong> Question 6 of 10</strong></p>
                <p>Question 6</p>
                <form name="ques06">
                    <div class="option">
                        <input type="radio" name="question6" value="option 1">
                        <label><div >option 1 </div></label><br>

                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question6" value="option 2">
                        <label>option 2</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question6" value="option 3">
                        <label>option 3</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question6" value="option 4">
                        <label>option 4</label><br>
                        <div class="location"> </div>
                    </div>
                </form>

                <p><strong> Question 7 of 10</strong></p>
                <p>Question 7

                </p>
                <form name="ques07">
                    <div class="option">
                        <input type="radio" name="question7" value="option 1">
                        <label><div >option 1 </div></label><br>

                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question7" value="option 2">
                        <label>option 2</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question7" value="option 3">
                        <label>option 3</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question7" value="option 4">
                        <label>option 4</label><br>
                        <div class="location"> </div>
                    </div>
                </form>

                <p><strong> Question 8 of 10</strong></p>
                <p>Question 8</p>
                <form name="ques08">
                    <div class="option">
                        <input type="radio" name="question8" value="option 1">
                        <label><div >option 1 </div></label><br>

                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question8" value="option 2">
                        <label>option 2</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question8" value="option 3">
                        <label>option 3</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question8" value="option 4">
                        <label>option 4</label><br>
                        <div class="location"> </div>
                    </div>
                </form>

                <p><strong> Question 9 of 10</strong></p>
                <p>Question 9</p>
                <form name="ques09">
                    <div class="option">
                        <input type="radio" name="question9" value="option 1">
                        <label><div >option 1 </div></label><br>

                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question9" value="option 2">
                        <label>option 2</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question9" value="option 3">
                        <label>option 3</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question9" value="option 4">
                        <label>option 4</label><br>
                        <div class="location"> </div>
                    </div>
                </form>

                <p><strong> Question 10 of 10</strong></p>
                <p>Question 10</p>
                <form name="ques10">
                    <div class="option">
                        <input type="radio" name="question10" value="option 1">
                        <label><div >option 1 </div></label><br>

                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question10" value="option 2">
                        <label>option 2</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question10" value="option 3">
                        <label>option 3</label><br>
                        <div class="location"> </div>
                    </div>
                    <div class="option">
                        <input type="radio" name="question10" value="option 4">
                        <label>option 4</label><br>
                        <div class="location"> </div>
                    </div>
                </form>



                <div id="submit">
                    <button type="submit" value="submit" onclick='totalscore()'>Submit your answer</button>
                </div>
                </form>

            </div>
        </section>

        <section id="review-quiz">

            <div id="tryagain">
                <h2></h2>
                <p></p>
                <button name="button" type="button">Try Again </button>
            </div>
        </section>
    </article>
</body>

</html>

`

标签: javascript

解决方案


推荐阅读