Welcome!
This repository offers a collection of six beginner-friendly projects designed to deal with the fundamental skills of the language practically and engagingly.
Each project in this repository focuses on a specific aspect of JavaScript, allowing you to build your understanding and confidence progressively. Here's a detailed description of each project:
-
Color Changer:
- Description: This interactive project presents a webpage containing four square boxes, each adorned with a distinct colour. Clicking on any of these squares dynamically changes the background colour of the entire webpage to match the chosen square's colour.
- Learning Outcomes:
- Grasp the fundamentals of DOM manipulation techniques to modify webpage elements.
- Understand event listener concepts in JavaScript, specifically how user interactions (clicks in this case) trigger actions.
- Practice working with color values in JavaScript.
-
BMI Calculator:
- Description: This practical project assists you in calculating your Body Mass Index (BMI) based on your entered height and weight. It displays the calculated BMI value along with its corresponding weight category (underweight, normal weight, or overweight), providing valuable health insights.
- Learning Outcomes:
- Gain experience with user input handling, allowing users to enter their height and weight values.
- Learn to perform basic mathematical calculations using JavaScript operators and functions.
- Utilize conditional statements (if-else) to display the appropriate weight category based on the calculated BMI.
-
Digital Clock:
- Description: This project brings a functional digital clock to life on your webpage, displaying the current date and time in real-time. Witness the power of JavaScript in manipulating and displaying dynamic information.
- Learning Outcomes:
- Explore techniques for working with date and time objects in JavaScript.
- Understand how to update webpage elements (clock display) at regular intervals using JavaScript's setInterval function.
- Gain insights into asynchronous programming concepts, which are essential for real-time updates.
-
Number Guessing Game:
- Description: This engaging project challenges you to guess a randomly generated number within a specified range. The project provides hints to guide you towards the correct answer, making it an interactive and educational experience.
- Learning Outcomes:
- Practice generating random numbers using JavaScript's built-in functions.
- Implement control flow statements (loops) to create a repetitive guessing process.
- Utilize conditional statements (if-else) to provide feedback based on the user's guess and offer hints.
-
Keyboard Typer:
- Description: This interactive project reveals the key you press on your keyboard on the webpage itself. This straightforward project serves as an excellent introduction to event handling in JavaScript.
- Learning Outcomes:
- Understand event listeners in JavaScript and how they capture user interactions (key presses in this instance).
- Learn to access and display the value of the pressed key using JavaScript functions.
-
Unlimited Colors:
- Description: This visually appealing project creates a dynamic colour animation on the webpage. Upon clicking the "Start" button, the background colour transitions continuously at a regular interval. Clicking the "Stop" button halts the animation, providing control over the visual experience.
- Learning Outcomes:
- Explore using setInterval and clearInterval functions in JavaScript, which are fundamental for creating and controlling timed animations.
- Implement user interactions (button clicks) to trigger and stop the animation, providing an interactive element.
- Clone this repository: Use Git to clone this repository to your local machine.
- Open the HTML files: Open each HTML file in your preferred web browser to launch the corresponding project.
- Experiment and learn: Feel free to modify the provided code, explore different functionalities, and experiment with your newfound JavaScript skills!