
Explore JavaScript mini projects that teach DOM manipulation, event handling, and dynamic content—from lorem ipsum generation to image carousels, JSON-powered pagination, and local storage.
Build a dynamic lorem ipsum generator in JavaScript by cleaning and parsing a word data set, then use user input to generate customizable paragraphs via the DOM.
Set up the basic html structure with doctype, link stylesheet and script, create files, and build inputs and a generate button for a lorem ipsum generator, with dev tools ready.
Explore selecting DOM elements with document.querySelector, targeting classes, IDs, and tags, and access input values and other DOM properties to enable interactive JavaScript.
Add interactivity by attaching a click event listener to a button, handling the event object and event target, and using DOMContentLoaded to run code when the DOM is ready.
Set up a data.js module and an output div to generate lorem ipsum paragraphs by cleaning source text with regex, turning it into an array of words, and render results.
Use a global regular expression to remove non-letter characters while preserving spaces, then replace, split into words, and lowercase before capitalizing the first letters for clean, readable output.
Learn to randomize an array of words to generate varied lorem ipsum text by sorting with a compare function and math random, producing different word orders on each button click.
Create a dynamic JavaScript generator that builds random sentences from a word array and renders multiple paragraphs as DOM elements. Control words per paragraph and paragraphs via user input.
Capitalize strings and form sentences with a new capital word function, using string methods to uppercase the first character, slice the string, and assemble ready sentences for dynamic DOM text.
Develop a function to generate a set number of words per paragraph by looping through random words, tracking remaining words with NUM, and recursively building sentences.
Review how to build a dynamic lorem ipsum generator in JavaScript by shuffling word arrays, counting words, and avoiding duplicates across paragraphs and sentences.
Create two versions of dynamic pagination in JavaScript: load data from a dummy endpoint and render JSON posts, with next/previous navigation and an icon-based pager.
Learn to set up a basic HTML and JavaScript project, connect to the random user API with fetch, and log or display results using the console and basic DOM output.
Set up localhost with live server to run your project using localhost instead of file protocol, enabling API calls and Ajax requests, using Visual Studio Code or Node and npm.
Learn to fetch page data and render JSON content by wiring a dom content loaded event, selecting a page output area, and updating the DOM.
Pull content into the page and output it in the element with the class of output using dom manipulation; loop through data array and render each item with loading indicator.
Create ajax-driven page navigation by generating next and previous controls from API data, building a pagination container and buttons, and updating content with subsequent page requests.
Load json page content by appending a page parameter to the url and fetching it via ajax, enabling next and previous navigation and handling blank pages with a ternary operator.
Extend a JavaScript pagination system with first/last navigation, current page tracking, and dynamic page buttons around the current page, including active styling and click handling to load content.
Learn to load more content at the bottom by appending new items when a bottom button is clicked, using the API's next page until no content remains.
Implement a click event in JavaScript on a load more button to fetch the next page, display content, show loading text, and hide the button when no more content remains.
Build a dynamic image carousel using JavaScript by loading slides from a my images object, updating DOM elements, and enabling automatic sliding with headers, captions, and indicators.
Build a dynamic JavaScript image slider by creating an images array, rendering placeholder images into an output container, and looping with forEach to set up a flexible, scalable slider.
Learn to build a dynamic image carousel with JavaScript by creating a carousel object, slides, controls, and indicator dots, then render slides from a data object using template literals.
Apply CSS styling to a JavaScript image carousel by adding slide classes, sizing images, and overlaying centered headings and captions with semi-transparent background, prepping rotation to show the active image.
Build a JavaScript image carousel with previous and next controls, indicator buttons, and a show images function that hides all slides then displays the active one, including boundary handling.
Apply JavaScript to image display by managing slide indices with wrap-around logic, initialize the first image on DOMContentLoaded, and prepare clickable dot indicators for navigation.
Create dot indicators for each carousel image, style with absolute positioning and a pointer cursor, and wire clicks to update the page counter and show the selected image.
Set up automatic image loading with a configurable delay and interval, initialize on DOM content loaded, cycle through images with a show images function, and update indicators.
Add an active class to the current image indicator dot, turning it red and removing it from others; reset the interval on user interaction and improve dot visibility.
Enhance a dynamic image carousel by implementing two-second fade-in animations using keyframes, updating controls and z-index for accessibility, and refining responsive sizing with media queries and font tweaks.
Review a JavaScript carousel that rotates images with indicators and previous/next controls, built from a JavaScript array of image objects and responsive slides and dots.
Build a dynamic task list with JavaScript, enabling add, remove, strike, and delete of items; persist via local storage using JSON.stringify/parse, and offer downloading the list as a text file.
Set up task list downloader project with HTML structure, a stylesheet, and a JavaScript file; create an input with max length 30 and an add button to build a list.
Learn to create list items with the DOM createElement method, wire a button click to an unordered list, validate input, show an error when empty, and clear the input.
Add a change event listener to the input in the user task object, update or hide the message content on changes, and auto-focus the input for a better user experience.
Add cross-out and delete features to a DOM list with JavaScript. Create list items, toggle a ready class for strikethrough, and implement an X button to remove items.
Style the task list by integrating Google fonts Oswald and Font Awesome icons via CDN, updating add and delete buttons with icons, and applying padding, background color, and box-sizing.
Learn to add a bottom download button, collect list items from the DOM, and download the list as a text file with newline separated entries, including dashes for struck items.
Learn to generate a downloadable text file from JavaScript by creating a hidden anchor, setting a data URL, assigning a download filename, and programmatically triggering a click to download.
Learn to build a dynamic task list that saves to local storage, loads on page refresh, and updates with JSON.stringify, getItem, and setItem to persist tasks.
Learn to load and reconstruct a dynamic tasks list from localStorage using JavaScript. Build, save, and regenerate tasks with forEach, toggle status, and update the download list.
Review how to build a dynamic task list with JavaScript that saves to local storage, enables downloading a text file, and marks completed items with a dash using DOM manipulation.
Create a dynamic timeline with JavaScript and the DOM, featuring interactive indicators and a line that goes green up to the selected event, while generating dummy content for multiple events.
Explore basic JavaScript examples for DOM interaction: selecting elements with querySelector, toggling classes, creating and appending elements, converting strings to numbers, and applying style and transform properties.
Explore JavaScript coding examples, building arrays and objects with push and for loops, generating random content, and using sort, slice, join, string methods, plus querySelector and getBoundingClientRect.
Set up the basic HTML structure with doctype html, a timeline project title, linked stylesheet and script, and create containers for timeline indicators and events rendered by JavaScript.
Generate random content with JavaScript to populate a timeline demo using random words, sentences, and dates. Build and test random events, descriptions, and display order.
Output the data to the page by looping through items, creating list elements with titles, content, and dates, and sorting the timeline chronologically.
Create a function to sort an array of objects by a chosen property value, then apply it to your data and control order with a comparator.
Create a dynamic indicator list for a timeline using an ordered list, the query selector, and string and array methods (split, slice, join) to format dates and enable navigation.
Learn to style a timeline with clickable indicators and show corresponding event information, using absolute positioning, borders, and smooth opacity transitions driven by JavaScript.
Wire up the previous and next buttons with addEventListener to move the timeline by two hundred pixels and show the corresponding content.
Hide content by setting opacity to zero, then reveal the selected item by matching its index and updating opacity to one, looping through content and indicators to drive timeline.
Style the JavaScript timeline by adding a gray default, turning the active and preceding items green, and managing done and active classes with loops to update indicators and resize behavior.
Adjust the timeline navigation by refining the next and previous logic with getBoundingClientRect data to prevent the timeline from disappearing and to handle dynamic item lengths.
Debug the timeline app and apply styling tweaks, add hover effects and pointer cursors for buttons, generate content and images, and fine-tune layout with fonts and indicators for responsive timelines.
Review and validate a JavaScript timeline project, resizing the layout and adjusting item counts, while mapping indicators to events using index values and dynamic data generation.
Explore collision detection between two DOM elements using an overlap formula, track x/y coordinates and dimensions, and move boxes with the keyboard to trigger color changes on collision.
Move two 50-by-50 DOM elements using arrow keys and WASD to prep collision detection, tracking x, y, width, and height for overlap calculations.
Explore how to implement collision detection in JavaScript for moving DOM elements using a collision formula, bounding client rect data, and horizontal and vertical overlap checks, with live visual feedback.
Dynamically generate a random image captcha on a canvas using a configurable character set, then validate user input with a JavaScript-driven form and provide visual feedback.
Learn to work with arrays in JavaScript by selecting by index and generating random numbers within a min and max range. Sort, reverse, or randomize in place, one line.
Learn to build a dynamic dice game with JavaScript that outputs dice characters in HTML, supports multiple players, highlights winners in green, and updates results in a live page.
Practice and learn more about JavaScript as you create 5 amazing projects all with Vanilla JavaScript
Explore and sharpen your skills with Mini projects that you can extend upon to create some amazing functionality and interactions for web users. Add them to your portfolio have fun while you learn.
Challenge yourself and design your own versions
Source code is included to get you started.
Perfect for Beginner and intermediate web developers that want to build fun and useful projects with HTML, CSS & JavaScript.
These are unique coding mini projects you won't find anywhere else.
Sharpen your HTML, CSS & JavaScript skills with these projects.
Project #1 JavaScript Lorem ipsum generator
Adding EventListeners
DOMContentLoaded when page loads
String methods like toUpperCase()
Conditions and Loops (for loops and while)
JavaScript Math method - random()
DOM document createElement(), append(), querySelector()
Array methods sort()
Project #2 Pagination from JSON data multiple pages and content loading app
Adding EventListeners for interaction
DOMContentLoaded when page loads
Ternary operator
Fetch method
JSON data - as JavaScript Objects
DOM document createElement(), append(), querySelector() - elements innerHTML and textContent
DOM disable buttons - classList.add()
Create HTML elements and create interactive content dynamically
Project #3 JavaScript Carousel Images Slider Component
Change Content on the page with Intervals setInterval()
Select and manipulate DOM page elements with JavaScript querySelector() classList.add() append() remove()
Create interactive Page content - addEventListener()
Practice common JavaScript Fundamental coding - forEach() push() into arrays Array.length
DOM disable buttons - classList.add()
Create HTML elements and create interactive content dynamically
Project #4 JavaScript Dynamic List builder with Download and saving of list items to localstorage.
How to generate a text file with JavaScript from string content
DOM document createElement(), append(), querySelector() - elements innerHTML and textContent
Add user interaction DOM document createElement()
Element updates to style setAttribute() style.display()
Add and remove page elements appendChild() removeChild() methods
Check element classes classList.contains()
Set element focus focus()
createTextNode() and createElement()
Save items to local Storage localStorage.setItem() localStorage.getItem()
Convert object to string JSON.stringify() convert String to Object JSON.parse()
encodeURIComponent() to create text file dynamically and set download click of hyperlink
Project #5 JavaScript Dynamic TimeLine Component
DOM document createElement(), append(), querySelector() - elements innerHTML and textContent
Move elements using Styling
Interactive Content with event listeners
Generate Page content from JSON data object
JavaScript Methods querySelector() addEventListener() forEach() classList.add() classList.remove() parseInt() Number() createElement() append()
Generate Page content randomly from string characters
Move elements on the page using Transform X
Adding styling and JavaScript for dynamic and interactive content
----- Source Code included - build your own version of the projects -----
Taught by an instructor with over 20 years of REAL WORLD experience ready to answer any questions you may have.
You have nothing to lose - build your own version of the projects HAVE FUN - Join NOW