How to create Quiz or cbt exam using,html,css and javascript

 

quiz

Good day guys!,

We are creating another useful website application today. An online exam/quiz app.

First of all,you will need to create a new folder on your computer, then name it as Quiz app. Therefore, follow all the listed steps bellow:

  • Open notepad on your computer
  • Create this three files:
  1. index.html
  2. style.css
  3. script.js
  • Copy and past all the codes bellow in there respective files you just created.
  • Do not forget to save all the files inside the folder which you created name (Quiz app)
  • Navigate to the folder 
  • Right click on the index.html file, click on open with google chrome or any browser  that you are using.
  • Your app will work if you save all the files in the right place.


Create index.html file

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta http-equiv="X-UA-Compatible" content="IE=edge">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <link rel="stylesheet" href="style.css">

  <!-- Coding with codelibery -->

  <title>Quiz App</title>

</head>

<body>


  <div class="quiz-container" id="quiz">

    <div class="quiz-header">

      <h2 id="question">Question Text</h2>

      <ul>

        <li>

          <input type="radio" name="answer" id="a" class="answer">

          <label for="a" id="a_text">Answer</label>

        </li>


        <li>

          <input type="radio" name="answer" id="b" class="answer">

          <label for="b" id="b_text">Answer</label>

        </li>


        <li>

          <input type="radio" name="answer" id="c" class="answer">

          <label for="c" id="c_text">Answer</label>

        </li>


        <li>

          <input type="radio" name="answer" id="d" class="answer">

          <label for="d" id="d_text">Answer</label>

        </li>


      </ul>

    </div>


    <button id="submit">Submit</button>


  </div>



  <script src="script.js"></script>

  

</body>

</html>


Create style.css file


/* Coding with codelibery */


@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500&display=swap');


*{

  box-sizing: border-box;

}

body{

  background-color: #b8c6db;

  background-image: linear-gradient(315deg, #b8c6db 0%, #f5f7f7 100%);

  font-family: 'Poppins', sans-serif;

  display: flex;

  align-items: center;

  justify-content: center;

  height: 100vh;

  overflow: hidden;

  margin: 0;

}

.quiz-container{

  background-color: #fff;

  border-radius: 10px;

  box-shadow: 0 0 10px 2px rgba(100, 100, 100, 0.1);

  width: 600px;

  overflow: hidden;

}

.quiz-header{

  padding: 4rem;

}

h2{

  padding: 1rem;

  text-align: center;

  margin: 0;

}


ul{

  list-style-type: none;

  padding: 0;

}

ul li{

  font-size: 1.2rem;

  margin: 1rem 0;

}

ul li label{

  cursor: pointer;

}

button{

  background-color: #03cae4;

  color: #fff;

  border: none;

  display: block;

  width: 100%;

  cursor: pointer;

  font-size: 1.1rem;

  font-family: inherit;

  padding: 1.3rem;

}

button:hover{

  background-color: #04adc4;

}

button:focus{

  outline: none;

  background-color: #44b927;

}


Create script.js file

// Coding with codelibery 

const quizData = [

    {

        question: "Which language runs in a web browser?",

        a: "Java",

        b: "C",

        c: "Python",

        d: "javascript",

        correct: "d",

    },

    {

        question: "What does CSS stand for?",

        a: "Central Style Sheets",

        b: "Cascading Style Sheets",

        c: "Cascading Simple Sheets",

        d: "Cars SUVs Sailboats",

        correct: "b",

    },

    {

        question: "What does HTML stand for?",

        a: "Hypertext Markup Language",

        b: "Hypertext Markdown Language",

        c: "Hyperloop Machine Language",

        d: "Helicopters Terminals Motorboats Lamborginis",

        correct: "a",

    },

    {

        question: "What year was JavaScript launched?",

        a: "1996",

        b: "1995",

        c: "1994",

        d: "none of the above",

        correct: "b",

    },



];


const quiz= document.getElementById('quiz')

const answerEls = document.querySelectorAll('.answer')

const questionEl = document.getElementById('question')

const a_text = document.getElementById('a_text')

const b_text = document.getElementById('b_text')

const c_text = document.getElementById('c_text')

const d_text = document.getElementById('d_text')

const submitBtn = document.getElementById('submit')



let currentQuiz = 0

let score = 0


loadQuiz()


function loadQuiz() {


    deselectAnswers()


    const currentQuizData = quizData[currentQuiz]


    questionEl.innerText = currentQuizData.question

    a_text.innerText = currentQuizData.a

    b_text.innerText = currentQuizData.b

    c_text.innerText = currentQuizData.c

    d_text.innerText = currentQuizData.d

}


function deselectAnswers() {

    answerEls.forEach(answerEl => answerEl.checked = false)

}


function getSelected() {

    let answer

    answerEls.forEach(answerEl => {

        if(answerEl.checked) {

            answer = answerEl.id

        }

    })

    return answer

}



submitBtn.addEventListener('click', () => {

    const answer = getSelected()

    if(answer) {

       if(answer === quizData[currentQuiz].correct) {

           score++

       }


       currentQuiz++


       if(currentQuiz < quizData.length) {

           loadQuiz()

       } else {

           quiz.innerHTML = `

           <h2>You answered ${score}/${quizData.length} questions correctly</h2>


           <button onclick="location.reload()">Reload</button>

           `

       }

    }

})


You can remove or add many questions and answers to the script.js file.

About Me


Akinpelu Abiodun


I am Akinpelu Abiodun Moses by name. I am a programmer and a graphics designer.
Follow my google website link to know more about me:


Popular Post

  • Wifi hacking with python
  • Complete html,css and javascript web page
  • Facebook login and sign up form with html,css and javascript 
  • Resturant,college,hostital and pharmercy store management system with python
  • online shopping website with html,css and javascript 
  • Text to speech app with html,css and javascript 
  • Online text editor with html,css and javascript 
  • Quiz app with html,css and javascript 
  • To -do app with html,css and javascript 
  • Traffic ligth project
  • Home automation
You can contact me for there source code on my website:


Comments

Post a Comment

Popular posts from this blog

Home Automation using NodeMCU ESP8266 and Blynk 2.0(IOT)

Penetration testing and cyber security

How to use ultrasonic sensor to triger buzzer alarm and hardwares with Ardiuno uno and c/c++ programming language.