In this project, you will learn how to change your website styles during the runtime using VanillaJS (plain normal js).
Create an algorithm that randomly builds a card on every refresh:
-
Every time the website refreshes a new random card needs to show.
-
The card must have one of the possible suits: Hearts, Spades, Clubs and Diamonds.
-
The card value must be one of the following: 2 to 10, King, Queen, Jack or Ace, (no joker).
In the end, the project needs to look similar to this demo.
Do not clone this repository because we are going to be using a different template.
We recommend opening the vanilla.js boilerplate
using a provisioning tool like Codespaces (recommended) or Gitpod. Alternatively, you can clone it on your local computer using the git clone
command.
This is the repository you need to open or clone:
https://github.com/4GeeksAcademy/vanillajs-hello.git
👉 Please follow these steps on how to start a coding project.
💡 Important: Remember to save and upload your code to GitHub by creating a new repository, updating the remote (git remote set-url origin <your new url>
), and uploading the code to your new repository using the add
, commit
and push
commands from the git terminal.
-
Remember that the first event of a website lifecycle is onLoad (your code starts running there). You should generate a random number between 1 and 4 to pick a suit and another random number between 0 and 12 to pick a card number.
-
Create a general .card class that applies the general styles to each card, and one additional CSS class for each suit: .spade, .club, .heart & .diamond.
-
Apply the .card class to the entire div, but only apply one of the suit classes at a time, depending on what suit you want to apply. For example, a 3 of Hearts will have this HTML declaration:
<div class='card heart'></div>
- You can grab the icons from here (copy and paste into your code): ♦ ♥ ♠ ♣
The following requirements are not needed to successfully finish this project, but you can try and challenge yourself!
+1
Add a button that generates a new card when clicked.
+1
Add a timer that generates a new card every 10 seconds.
+1
Allow the user to specify the card width and height using text inputs.
This and many other projects are built by students as part of the 4Geeks Academy Coding Bootcamp by Alejandro Sanchez and many other contributors. Find out more about our Full Stack Developer Course, and Data Science Bootcamp.