Hello Guys! Welcome to Coding Torque. In this blog, we are going to make an upload button animation using HTML, CSS, and JavaScript. You must create this if you are a beginner and learning HTML and CSS.
Before we start, here are some JavaScript Games you might like to create:
1.Ā Snake Game using JavaScript
2.Ā 2D Bouncing Ball Game using JavaScript
3.Ā Rock Paper Scissor Game using JavaScript
4.Ā Tic Tac Toe Game using JavaScript
5. Whack a Mole Game using JavaScript
I would recommend you don’t just copy and paste the code, just look at the code and type by understanding it.
HTML CodeĀ
Starter Template
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Upload button animation - @codingtorque</title>
<link rel="stylesheet" href="style.css">
<link href="https://fonts.googleapis.com/css?family=Varela+Round" rel="stylesheet">
<!-- Less CDN -->
<script src="https://cdn.jsdelivr.net/npm/less"></script>
</head>
<body>
<!-- further code in next block -->
<!-- JQuery CDN -->
<script src="https://code.jquery.com/jquery-3.6.1.js"
integrity="sha256-3zlB5s2uwoUzrXK3BT7AX3FyvojsraNFxCc2vC/7pNI=" crossorigin="anonymous"></script>
<script src="script.js"></script>
</body>
</html>Paste the below code in your <body> tag
<div class="button">
<a>
<span>Upload Now</span>
<svg class="load" version="1.1" x="0px" y="0px" width="30px" height="30px" viewBox="0 0 40 40"
enable-background="new 0 0 40 40">
<path opacity="0.3" fill="#fff"
d="M20.201,5.169c-8.254,0-14.946,6.692-14.946,14.946c0,8.255,6.692,14.946,14.946,14.946
s14.946-6.691,14.946-14.946C35.146,11.861,28.455,5.169,20.201,5.169z M20.201,31.749c-6.425,0-11.634-5.208-11.634-11.634
c0-6.425,5.209-11.634,11.634-11.634c6.425,0,11.633,5.209,11.633,11.634C31.834,26.541,26.626,31.749,20.201,31.749z" />
<path fill="#fff" d="M26.013,10.047l1.654-2.866c-2.198-1.272-4.743-2.012-7.466-2.012h0v3.312h0
C22.32,8.481,24.301,9.057,26.013,10.047z">
<animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 20 20"
to="360 20 20" dur="0.5s" repeatCount="indefinite" />
</path>
</svg>
<svg class="check" xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 24 24">
<path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" />
</svg>
</a>
<div>
<span></span>
</div>
</div>CSS CodeĀ
Create a fileĀ style.css and paste the code below.
@primary: #3f82d7;
@success: #28e470;
@light: #d3d7e0;
body {
background: #eef0f5;
font-family: Arial;
font-size: 14px;
}
.button {
svg {
display: none;
position: absolute;
left: 50%;
top: 50%;
margin: -15px 0 0 -15px;
fill: #fff;
}
div {
span {
position: absolute;
background: @success;
height: 4px;
left: 0;
top: 0;
width: 0;
display: block;
border-radius: 2px;
}
height: 4px;
margin: -2px 0 0 0;
position: absolute;
top: 50%;
left: 71px;
right: 25px;
background: @light;
display: none;
border-radius: 2px;
}
a {
span {
cursor: pointer;
display: block;
}
position: relative;
display: block;
background: @primary;
z-index: 2;
line-height: 56px;
height: 56px;
border-radius: 28px;
width: 100%;
text-align: center;
color: #fff;
box-shadow: 0 2px 6px rgba(170, 185, 200, 0.4);
}
border-radius: 28px;
position: absolute;
left: 50%;
top: 50%;
display: block;
background: #fff;
width: 150px;
box-shadow: 0 2px 6px rgba(170, 185, 200, 0.4);
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}Output Till Now

JavaScript CodeĀ
Create a fileĀ
script.jsĀ and paste the code below.$(document).ready(function () {
$(".button a span").click(function () {
var btn = $(this).parent().parent();
var loadSVG = btn.children("a").children(".load");
var loadBar = btn.children("div").children("span");
var checkSVG = btn.children("a").children(".check");
btn.children("a").children("span").fadeOut(200, function () {
btn.children("a").animate({
width: 56
}, 100, function () {
loadSVG.fadeIn(300);
btn.animate({
width: 320
}, 200, function () {
btn.children("div").fadeIn(200, function () {
loadBar.animate({
width: "100%"
}, 2000, function () {
loadSVG.fadeOut(200, function () {
checkSVG.fadeIn(200, function () {
setTimeout(function () {
btn.children("div").fadeOut(200, function () {
loadBar.width(0);
checkSVG.fadeOut(200, function () {
btn.children("a").animate({
width: 150
});
btn.animate({
width: 150
}, 300, function () {
btn.children("a").children("span").fadeIn(200);
});
});
});
}, 2000);
});
});
});
});
});
});
});
});
});Written by: Piyush Patil
Code Credits:Ā @aaroniker
If you have any doubts or any project ideas feel free to Contact Us
Hope you find this post helpfulš



