JavaScript 2 Lab
Lab Objectives
- Practice making changes in the DOM
- Practice targeting HTML Elements by id, class, and tag
- Practice adding event listeners
Match 3 Squares
The webpage in this repl displays three colored squares, three buttons, and a message. Each button is designed to change the color of a square. The message displays the status of the colored squares.
Update the code in script.js to accomplish the following tasks:
- Each button cycles through the following list of colors for each square:
white,red,orange,yellow,green,blue,purple. - If the squares are all different colors, the message should display this, e.g.
The squares are different colors. - If any two squares are the same color, the message should display which two squares match and the matching color; e.g.
The first and third squares are blue. - When all three squares are the same color, the message should update accordingly; e.g.
All three squares are red!
Challenge 1
Add a button to reset all squares to white (or green, or purple, your choice). The message should update accordingly.
Challenge 2
Add a button to randomize the colors of each square. The message should update accordingly.
Challenge 3
Add a mouseover event listener that displays information of the target square in the message; e.g. This square is orange.
Bonus Content
Try navigating to elements by using parentNode, childNodes, nextSibling, etc. See the Related Topics section of this page.