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/Random Photos

Random Photos

Build a random photos with HTML, CSS, and JavaScript while practicing click events and DOM selection.

Beginner20–30 minutesHTML5CSS3JavaScript
You’ll practice
Click EventsDOM SelectionCreating DOM Elements
View Source CodeLive Demo
demo.100jsprojects.com/random-photos
Final resultRandom Photos project previewTry Live Demo
01 — What you’ll build

Random Photos

This project shows you how HTML, CSS, and JavaScript work together in a random photos. You’ll connect user interactions to visible changes on the page, then practice click events, DOM selection, and dynamic elements as you build the complete project from scratch.

02 — Included
  • ✓Randomized results
  • ✓Random Photos 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
  • >Create and add elements dynamically
  • >Generate random values
  • >Perform calculations with JavaScript

Recommended knowledge: Basic HTML and CSS, Functions and Math.random, 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
random-photos/
├──
├──
└──
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
<!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>Random Photos</title>
    <link rel="stylesheet" href="style.css" />
  </head>
  <body>
    <div class="image-container">
      <img src="https://picsum.photos/300?random=1" />
      <img src="https://picsum.photos/300?random=2" />
      <img src="https://picsum.photos/300?random=3" />
      <img src="https://picsum.photos/300?random=4" />
      <img src="https://picsum.photos/300?random=5" />
      <img src="https://picsum.photos/300?random=6" />
    </div>
    <button class="btn">Load More</button>

    <script src="index.js"></script>
  </body>
</html>

JS// Related Projects

Practice with Related Projects

Practice random values, javaScript calculations, and click events with these related projects.

Heart Trail Animation project preview★Best match
Related: random valuesBeginner

Heart Trail Animation

Generate changing values and display a new result each time.

Build a heart trail animation →
Random Color Generator project preview
Related: JavaScript calculations

Random Color Generator

Turn JavaScript calculations into clear visual results.

Build a random color generator →
Random Emoji project preview
Related: click eventsIntermediate

Random Emoji

Request and render a randomly selected emoji.

Build a random emoji →
Heart Trail Animation project preview
Related: random values★Best match

Heart Trail Animation

Generate changing values and display a new result each time.

Build a heart trail animation
Random Color Generator project preview
Related: JavaScript calculations

Random Color Generator

Turn JavaScript calculations into clear visual results.

More challenging
Build a random color generator
Random Emoji project preview
Related: click events

Random Emoji

Request and render a randomly selected emoji.

More challenging
Build a random emoji
JS{ }Explore All JavaScript ProjectsBrowse by difficulty or concept.Explore All Projects