Introduction:
In the world of web development, creating loading animations is a common task. These animations provide a visual cue to users that something is happening in the background. In this tutorial, we will create a simple loader animation using HTML, CSS, and JavaScript. By the end of this tutorial, you will have a basic understanding of how to build a loading animation and customize it to fit your project’s needs.
Things You Will Learn:
- How to structure a project folder.
- Creating the HTML structure for a loader animation.
- Styling the loader animation with CSS.
- Implementing the JavaScript logic for the loader animation.
Video Tutorial:
If you are interested to learn by watching a video tutorial rather reading a blog post you can check out the video down below. Also subscribe to my YouTube channel where I post new tutorials every alternate day.
Project Folder Structure:
Now before we move on to actual coding we create a project folder structure. We name the project folder as – ”Image Loading Blur Effect”. Within this folder, we have 3 files. These files are:
- index.html
- style.css
- script.js
- image
HTML:
We begin with the HTML code. Copy the code below and paste it into your HTML document.
<!DOCTYPE html> <html lang="en"> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Image Loading Blur Effect</title> <!-- Stylesheet --> <link rel="stylesheet" href="style.css" /> </head> <body> <div class="loader-container"> <div id="image" class="image"> <img src="background.jpg" class="center" /> </div> <div id="number" class="number center">0</div> </div> <!-- Script --> <script src="script.js"></script> </body> </html>
Â
CSS:
Next, we style our code using CSS. For this copy, the code provided to you below and paste it into your stylesheet.
body { margin: 0; padding: 0; } .loader-container { height: 100vh; width: 100vw; position: relative; } .image { position: relative; height: 100vh; } .center { position: absolute; transform: translate(-50%, -50%); left: 50%; top: 50%; } .image img { width: min(95%, 900px); } .number { font-size: 50px; font-family: "Poppins", sans-serif; font-weight: 600; color: #ffffff; -webkit-text-stroke: 2px #000000; }
Â
JS:
Finally, we add functionality using Javascript. For this once again copy the code below and paste it into your script file.
const imageElement = document.getElementById("image"); const numberElement = document.getElementById("number"); let count = 0; const maxCount = 100; const incrementLoader = () => { //Check if count is less than maxCount if (count < maxCount) { count++; //Update the text content of numberElement with the current count numberElement.textContent = count + "%"; //Calculate the opacity as ratio of count to maxCount const opacity = count / maxCount; imageElement.style.opacity = opacity; //Set a blue filter on imageElement with an amount that decreases as opacity increases imageElement.style.filter = `blue($(10 - 10 * opacity)px)`; } else if (count === maxCount) { clearInterval(loaderInterval); numberElement.textContent = ""; } }; const loaderInterval = setInterval(incrementLoader, 60);
Â
Conclusion:
In this tutorial, we created a simple loader animation using HTML, CSS, and JavaScript. You’ve learned how to structure a project, build the HTML and CSS components, and implement the JavaScript logic for the animation.
Feel free to customize this loader to match your project’s style and requirements. Loader animations are a useful addition to websites and web applications, providing a visually appealing way to indicate progress to your users. Happy coding!
it is important
thankyou