Circular Progress Bar
Javascript
31 August 2021
Learn to create circular progress bar using only html, css and javascript.
DEMO
HTML
<div id="demo"></div>CSS
.proj-title {
text-align: center;
}
.outer-circle {
height: 200px;
width: 200px;
border-radius: 50%;
background-color: #E65962;
background-image: linear-gradient(91deg, transparent 50%, #dadada 50%), linear-gradient(90deg, #dadada 50%, transparent 50%);
display: flex;
align-items: center;
justify-content: center;
}
.circle {
height: 100px;
width: 100px;
transform: scale(1.5);
position: relative;
text-align: center;
border-radius: 100%;
background-color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 24px;
font-weight: bold;
}
#demo {
margin-top: 50px;
display: flex;
justify-content: center;
align-items: center;
}
JavaScript var totalCount = 60; // Ending number
var count = 0; // Starting number
var percent, degs;
function displayCircle() {
var demo = document.getElementById('demo');
demo.innerHTML = `
<div class="o-circle">
<div id="outer-circle" class="outer-circle" style="background-image: ${getBar(percent)}" >
<div class="circle">${percent}%</div>
</div>
</div>`;
}
var startTimer = setInterval(() => {
if(count == totalCount) {
clearInterval(startTimer);
}
percent = Math.round(count / totalCount * 100);
count += 1;
displayCircle()
}, 60);
function getBar(perc) {
degs = perc / 100 * 360;
if (degs <= 180) {
return `linear-gradient(${90 + degs}deg, transparent 50%, #E2E8F0 50%),linear-gradient(90deg, #E2E8F0 50%, transparent 50%);`;
} else {
return `linear-gradient(${degs - 90}deg, transparent 50%, #E65962 50%),linear-gradient(90deg, #E2E8F0 50%, transparent 50%);`;
}
}
Comments
Leave a Comment
Your email address will not be published.
Categories
You May Also Like
Javascript
Clock
30 March 2026
HTML & CSS
Responsive lightbox
4 February 2025
Javascript
Display pdf as image
10 July 2025
Javascript
Custom Calendar
10 July 2025
Javascript
Circular Progress Bar
16 August 2024
HTML & CSS
Adaptive Navbar
10 July 2025
Javascript
JavaScript Currying
9 March 2024
Javascript
Google reCAPTCHA
10 July 2025
Javascript
Braintree
10 July 2025
jQuery
Image Slider
10 July 2025