100JSProjects
LearnProjectsExplore all projects
100JS_WORKSPACE/Build · Learn · Repeat
100JSProjects

Practical HTML, CSS, and JavaScript projects designed to help you turn concepts into real skills—one build at a time.

01Explore

./All projects./Learning guides./About./Contact./Privacy

02Resources

./GitHub repository./Support the project

© 2026 100 JS Projects. Built for developers.

TermsCookiesContact
JS//Projects/Emoji Rating

Emoji Rating

Build an emoji rating with HTML, CSS, and JavaScript while practicing click events and DOM selection.

Beginner20–30 minutesHTML5CSS3JavaScript
You’ll practice
Click EventsDOM SelectionCSS Class Toggling
View Source CodeLive Demo
demo.100jsprojects.com/emoji-rating
Final resultEmoji Rating project previewTry Live Demo
01 — What you’ll build

Emoji Rating

Build an emoji rating using HTML, CSS, and JavaScript, then connect the interface to the logic that makes it work. You’ll learn how to connect user interactions to visible changes on the page while getting hands-on practice with click events, DOM selection, and CSS class toggling.

02 — Included
  • ✓Click-based interactions
  • ✓Emoji Rating interface
  • ✓Responsive HTML and CSS layout
  • ✓Complete source code and live demo
03 — You’ll practice
  • >Handle user clicks
  • >Select HTML elements from the DOM
  • >Change styles by updating CSS classes
  • >Process data with array methods
  • >Control behavior with conditions
  • >Perform calculations with JavaScript

Recommended knowledge: Basic HTML and CSS, JavaScript arrays and array methods, JavaScript variables and number operations, DOM selection and click events.

Complete project files

Build It from the Source Code

This project runs directly in the browser with HTML, CSS, and JavaScript.

  1. 1Create 3 files
  2. →
  3. 2Copy the code
  4. →
  5. 3Run index.html
Before you run it
  • Keep an internet connection available for external assets.
Project structure
emoji-rating/
├──
├──
└──
Need help setting up the project?

Create project files, install Live Server, and run your first project.

Open beginner guide
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<!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>Emoji Rating</title>
    <link
      rel="stylesheet"
      href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta2/css/all.min.css"
      integrity="sha512-YWzhKL2whUzgiheMoBFwW8CKV4qpHQAEuvilg9FAn5VJUDwKZZxkJNuGM4XkWuk94WCrrwslk8yWNGmY1EduTA=="
      crossorigin="anonymous"
      referrerpolicy="no-referrer"
    />
    <link rel="stylesheet" href="style.css" />
  </head>
  <body>
    <div class="feedback-container">
      <div class="emoji-container">
        <i class="far fa-angry fa-3x"></i>
        <i class="far fa-frown fa-3x"></i>
        <i class="far fa-meh fa-3x"></i>
        <i class="far fa-smile fa-3x"></i>
        <i class="far fa-laugh fa-3x"></i>
      </div>
      <div class="rating-container">
        <i class="fas fa-star fa-2x active"></i>
        <i class="fas fa-star fa-2x"></i>
        <i class="fas fa-star fa-2x"></i>
        <i class="fas fa-star fa-2x"></i>
        <i class="fas fa-star fa-2x"></i>
      </div>
    </div>
    <script src="index.js"></script>
  </body>
</html>

JS// Related Projects

Practice with Related Projects

Practice array methods, javaScript calculations, and conditional logic with these related projects.

Tabs Section project preview★Best match
Related: array methodsBeginner

Tabs Section

Transform collections of data into dynamic page content.

Build a tabs section →
Feedback UI project preview
Related: JavaScript calculations

Feedback UI

Turn JavaScript calculations into clear visual results.

Build a feedback ui →
Step Progress Bar project preview
Related: conditional logic

Step Progress Bar

Use conditions to control how the interface behaves.

Build a step progress bar →
Tabs Section project preview
Related: array methods★Best match

Tabs Section

Transform collections of data into dynamic page content.

Build a tabs section
Feedback UI project preview
Related: JavaScript calculations

Feedback UI

Turn JavaScript calculations into clear visual results.

More challenging
Build a feedback ui
Step Progress Bar project preview
Related: conditional logic

Step Progress Bar

Use conditions to control how the interface behaves.

More challenging
Build a step progress bar
JS{ }Explore All JavaScript ProjectsBrowse by difficulty or concept.Explore All Projects