DEV Community

Mukesh
Mukesh

Posted on

10 Fun JavaScript Ideas to Try Today

JavaScript is a powerful programming language that allows developers to build dynamic and interactive web applications. Whether you're just starting out or have years of experience, working on real projects is a great way to improve your JavaScript skills.

This guide presents a collection of practical JavaScript examples that cover a wide range of common tasks and features for web applications.

Each example includes code snippets along with explanations of how they work. By exploring these, you'll gain hands-on experience with key JavaScript concepts and learn how to create more interactive and user-friendly web pages.

Examples

Finding Operating System Details

const os = navigator.platform;
alert("Your Operating System: " + os);

Enter fullscreen mode Exit fullscreen mode
  • navigator.platform: This property returns a string representing the platform (operating system) of the browser.
  • The alert function is used to display a pop-up box that shows the detected operating system. This is useful for understanding the environment in which your web application is running.

Detecting User's Browser

const browser = navigator.userAgent;
alert("Your Browser: " + browser);

Enter fullscreen mode Exit fullscreen mode
  • navigator.userAgent: This property returns the user-agent string of the browser. It contains information about the browser version, operating system, and other details.
  • This information can be used for browser-specific functionality or for analytics purposes to understand what browsers your users are using.

Creating a Digital Clock

<div id="clock"></div>
<script>
  setInterval(() => {
    const now = new Date();
    document.getElementById('clock').innerText = now.toLocaleTimeString();
  }, 1000);
</script>

Enter fullscreen mode Exit fullscreen mode
  • <div id="clock"></div>: This is an HTML element where the current time will be displayed.
  • setInterval(callback, 1000): This JavaScript function repeatedly calls the callback function every 1000 milliseconds (1 second).
  • new Date(): Creates a new Date object representing the current date and time.
  • now.toLocaleTimeString(): Formats the current time as a human-readable string.
  • document.getElementById('clock').innerText = now.toLocaleTimeString(): Updates the content of the div with the current time.

Form Validation

<html>
<head>
    <title>Form Validation</title>
</head>
<body>
    <form id="myForm">
        <input type="text" id="name" placeholder="Enter your name">
        <button type="submit">Submit</button>
    </form>
    <script>
        document.getElementById('myForm').addEventListener('submit',
function(event) {
            const name = document.getElementById('name').value;
            if (!name) {
                alert("Name is required");
                event.preventDefault();
            }
        });
    </script>
</body>
</html>


Enter fullscreen mode Exit fullscreen mode
  • <form id="myForm">: A form element where users can input their name.
  • document.getElementById('myForm').addEventListener('submit', function(event) { ... }): Adds an event listener to the form's submit event.
  • document.getElementById('name').value: Gets the value entered in the input field.
  • if (!name) { ... }: Checks if the input field is empty.
  • alert("Name is required"): Displays an alert if the input field is empty.
  • event.preventDefault(): Prevents the form from submitting if the validation fails, ensuring the user corrects their input before proceeding.

Displaying Mouse Coordinates

<div id="coords">Move your mouse over this area.</div>
<script>
  document.addEventListener('mousemove', function(event) {
    const coords = `X: ${event.clientX}, Y: ${event.clientY}`;
    document.getElementById('coords').innerText = coords;
  });
</script>

Enter fullscreen mode Exit fullscreen mode
  • <div id="coords">Move your mouse over this area.</div>: A div element to display the mouse coordinates.
  • document.addEventListener('mousemove', function(event) { ... }): Adds an event listener to the document's mousemove event.
  • const coords = \X: ${event.clientX}, Y: ${event.clientY}: Gets the mouse coordinates relative to the viewport.
  • document.getElementById('coords').innerText = coords: Updates the div with the current mouse coordinates.

Generating Random Numbers

<button id="generate">Generate Random Number</button>
<p id="randomNumber"></p>
<script>
  document.getElementById('generate').addEventListener('click',
function() {
    const randomNumber = Math.floor(Math.random() * 100) + 1;
    document.getElementById('randomNumber').innerText = "Random Number: " + randomNumber;
  });
</script>
Enter fullscreen mode Exit fullscreen mode
  • <button id="generate">Generate Random Number</button>: A button to generate a random number.
  • <p id="randomNumber"></p>: A paragraph to display the generated random number.
  • document.getElementById('generate').addEventListener('click', function() { ... }): Adds a click event listener to the button.
  • const randomNumber = Math.floor(Math.random() * 100) + 1;: Generates a random number between 1 and 100.
  • document.getElementById('randomNumber').innerText = "Random Number: " + randomNumber;: Displays the generated random number in the paragraph.

Changing Background Color Randomly

<button id="randomColor">Change Background Color</button>
<script>
  document.getElementById('randomColor').addEventListener('click', function() {
    const colors = ['red', 'green', 'blue', 'yellow', 'purple'];
    const randomColor = colors[Math.floor(Math.random() * colors.length)];
    document.body.style.backgroundColor = randomColor;
  });
</script>

Enter fullscreen mode Exit fullscreen mode
  • <button id="randomColor">Change Background Color</button>: A button to change the background color.
  • document.getElementById('randomColor').addEventListener('click', function() { ... }): Adds a click event listener to the button.
  • const colors = ['red', 'green', 'blue', 'yellow', 'purple'];: An array of color options.
  • const randomColor = colors[Math.floor(Math.random() * colors.length)];: Selects a random color from the array.
  • document.body.style.backgroundColor = randomColor;: Sets the body's background color to the randomly selected color.

Building a To-Do List

<input type="text" id="taskInput" placeholder="Enter a task">
<button id="addButton">Add Task</button>
<ul id="taskList"></ul>
<script>
  document.getElementById('addButton').addEventListener('click', function() {
    const task = document.getElementById('taskInput').value;
    const li = document.createElement('li');
    li.innerText = task;
    document.getElementById('taskList').appendChild(li);
  });
</script>
Enter fullscreen mode Exit fullscreen mode
  • <input type="text" id="taskInput" placeholder="Enter a task">: An input field for entering tasks.
  • <button id="addButton">Add Task</button>: A button to add the task to the list.
  • <ul id="taskList"></ul>: An unordered list to display the tasks.
  • document.getElementById('addButton').addEventListener('click', function() { ... }): Adds an event listener to the button's click event.
  • document.getElementById('taskInput').value: Gets the value entered in the input field.
  • const li = document.createElement('li'): Creates a new list item element.
  • li.innerText = task: Sets the text of the list item to the entered task.
  • document.getElementById('taskList').appendChild(li): Adds the new list item to the task list.

Creating a Dropdown Menu

<select id="dropdown">
  <option value="Option 1">Option 1</option>
  <option value="Option 2">Option 2</option>
  <option value="Option 3">Option 3</option>
</select>
<button id="showSelection">Show Selected Option</button>
<script>
  document.getElementById('showSelection').addEventListener('click',
function() {
    const selectedOption = document.getElementById('dropdown').value;
    alert("Selected Option: " + selectedOption);
  });
</script>

Enter fullscreen mode Exit fullscreen mode
  • <select id="dropdown">: A dropdown menu with three options.
  • <button id="showSelection">Show Selected Option</button>: A button to show the selected option from the dropdown menu.
  • document.getElementById('showSelection').addEventListener('click', function() { ... }): Adds a click event listener to the button.
  • const selectedOption = document.getElementById('dropdown').value;: Gets the value of the selected option.
  • alert("Selected Option: " + selectedOption);: Displays an alert with the selected option.

Toggling Visibility of an Element

<div id="toggleDiv">This is a toggleable div.</div>
<button id="toggleButton">Toggle Visibility</button>
<script>
  document.getElementById('toggleButton').addEventListener('click',
function() {
    const div = document.getElementById('toggleDiv');
    if (div.style.display === 'none') {
      div.style.display = 'block';
    } else {
      div.style.display = 'none';
    }
  });
</script>
Enter fullscreen mode Exit fullscreen mode
  • <div id="toggleDiv">This is a toggleable div.</div>: A div element with some text that we want to show or hide.
  • <button id="toggleButton">Toggle Visibility</button>: A button to toggle the visibility of the div.
  • document.getElementById('toggleButton').addEventListener('click', function() { ... }): Adds a click event listener to the button.
  • const div = document.getElementById('toggleDiv');: Selects the div element.
  • if (div.style.display === 'none') { div.style.display = 'block'; } else { div.style.display = 'none'; }: Toggles the display property of the div between 'none' (hidden) and 'block' (visible).

Top comments (1)

Collapse
 
efpage profile image
Eckehard

Did you know this works too:

<div id="clock"></div>
<script>
  setInterval(() => {
    const now = new Date();
    clock.innerText = now.toLocaleTimeString();
  }, 1000);
</script>
Enter fullscreen mode Exit fullscreen mode

Though not using document.getElementById() is considered bad practice, it works anyway in all modern browsers.