18
How to build a JavaScript Random Quote Generator
Hello guys, today I am going to show you How to build a JavaScript Random Quote Generator using HTML CSS & JavaScript, in this video, I will create a simple quote generator.
In this step, we need to create a new project folder and create files(index.html, style.css, quotes.js) inside the folder. for creating a Random Quote Generator. In the next step, you will start creating the structure of the webpage.
You may like these also:
In this step, we will add the HTML code to create the basic structure of the project.
<!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">
<title>How to build a JavaScript Random Quote Generator</title>
<link rel="stylesheet" href="style.css">
<script src="quotes.js"></script>
</head>
<body>
</body>
</html>
This is the base structure of most web pages that use HTML.
Add the following code inside the <body>
tag:
<section class="randomQuote">
<header>
<h2>Quote of the Day</h2>
<p>Press the below button to receive a random quote!</p>
</header>
<div class="quotesOutput">
<p id="generatedQuote">"The greatest glory in living lies not in never falling, but in rising every time we fall."</p>
<span id="AuthorName">--Nelson Mandela</span>
</div>
<button onclick="generateQoute()">New Quote</button>
</section>
In this step, we will add styles to the section class Inside style.css file
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300&display=swap');
* {
padding: 0;
margin: 0;
font-family: 'Poppins', sans-serif;
}
header {
text-align: center;
background: #4b00ff;
color: #fff;
padding: 10px 0;
margin-bottom: 10px;
}
.quotesOutput {
text-align: center;
background: #dde1ff;
padding: 20px;
min-height: 50px;
margin-bottom: 20px;
}
button {
display: block;
width: 150px;
height: 40px;
font-size: 16px;
font-weight: 600;
background: #4b00ff;
color: #fff;
border: transparent;
margin: auto;
cursor: pointer;
}
p#generatedQuote {
font-size: 16px;
font-weight: 800;
}
In this step, we will add some JavaScript code to build Quote Generator.
const arrayOfQuotes = [
{'author': 'Nelson Mandela',
'quote': 'The greatest glory in living lies not in never falling, but in rising every time we fall.'
},
{'author': 'Walt Disney',
'quote': 'The way to get started is to quit talking and begin doing.'
},
{'author': 'Eleanor Roosevelt',
'quote': 'If life were predictable it would cease to be life, and be without flavor.'
},
{'author': 'Oprah Winfrey',
'quote': 'If you look at what you have in life, you`ll always have more. If you look at what you don`t have in life, you`ll never have enough'
},
{'author': 'James Cameron',
'quote': 'If you set your goals ridiculously high and it`s a failure, you will fail above everyone else`s success'
},
{'author': 'Elbert Hubbard',
'quote': 'Do not take life too seriously. You will not get out alive.'
},
{'author': 'John Lennon',
'quote': 'Life is what happens when you`re busy making other plans.'
}
];
// Create a function to generate quote from array
function generateQoute(){
const random = Number.parseInt(Math.random()*arrayOfQuotes.length + 1);
document.querySelector("#generatedQuote")
.textContent = `\"${arrayOfQuotes[random].quote}\"`;
document.querySelector("#AuthorName")
.textContent = `--${arrayOfQuotes[random].author}`;
}
18