We can divide a progress bar into multiple segments using a segmentCount
to visualize the progress of multiple sequential tasks.
var linearProgress1 = new ej.progressbar.ProgressBar({
type: 'Circular',
height: '60',
segmentCount: 8,
value: 100,
animation: {
enable: true,
duration: 2000,
delay: 0,
},
});
linearProgress1.appendTo('#percentage');
<!DOCTYPE html><html lang="en"><head>
<title>Essential JS 2 Toast</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Typescript Toolbar Controls">
<meta name="author" content="Syncfusion">
<link href="index.css" rel="stylesheet">
<link href="//cdn.syncfusion.com/ej2/20.4.48/material.css" rel="stylesheet">
<script src="https://cdn.syncfusion.com/ej2/20.4.48/dist/ej2.min.js" type="text/javascript"></script>
</head>
<body>
<div id="container">
<div class="row linear-parent">
<div id="percentage"></div>
</div>
</div>
<script>
var ele = document.getElementById('container');
if(ele) {
ele.style.visibility = "visible";
}
</script>
<script src="index.js" type="text/javascript"></script>
</body></html>
You can customize the thickness of the track using trackThickness
and progress using progressThickness
to render the ProgressBar with different appearances.
var linearProgress1 = new ej.progressbar.ProgressBar({
type: 'Linear',
height: '60',
width: '90%',
trackThickness: 24,
progressThickness: 24,
value: 100,
showProgressValue: true,
labelStyle: {
color: '#FFFFFF'
},
animation: {
enable: true,
duration: 2000,
delay: 0,
}
});
linearProgress1.appendTo('#percentage');
<!DOCTYPE html><html lang="en"><head>
<title>Essential JS 2 Toast</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Typescript Toolbar Controls">
<meta name="author" content="Syncfusion">
<link href="index.css" rel="stylesheet">
<link href="//cdn.syncfusion.com/ej2/20.4.48/material.css" rel="stylesheet">
<script src="https://cdn.syncfusion.com/ej2/20.4.48/dist/ej2.min.js" type="text/javascript"></script>
</head>
<body>
<div id="container">
<div class="row linear-parent">
<div id="percentage"></div>
</div>
</div>
<script>
var ele = document.getElementById('container');
if(ele) {
ele.style.visibility = "visible";
}
</script>
<script src="index.js" type="text/javascript"></script>
</body></html>
The radius of the progress bar can be customized using radius
property and corner can be customized by cornerRadius property.
var linearProgress1 = new ej.progressbar.ProgressBar({
type: "Circular",
value: 60,
width: "160px",
height: "160px",
enableRtl: false,
trackColor: "#FFD939",
radius: "100%",
progressColor: "white",
trackThickness: 80,
cornerRadius: "Round",
progressThickness: 10,
animation: {
enable: true,
duration: 2000,
delay: 0
}
});
linearProgress1.appendTo('#percentage');
<!DOCTYPE html><html lang="en"><head>
<title>Essential JS 2 Toast</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Typescript Toolbar Controls">
<meta name="author" content="Syncfusion">
<link href="index.css" rel="stylesheet">
<link href="//cdn.syncfusion.com/ej2/20.4.48/material.css" rel="stylesheet">
<script src="https://cdn.syncfusion.com/ej2/20.4.48/dist/ej2.min.js" type="text/javascript"></script>
</head>
<body>
<div id="container">
<div class="row linear-parent">
<div id="percentage"></div>
</div>
</div>
<script>
var ele = document.getElementById('container');
if(ele) {
ele.style.visibility = "visible";
}
</script>
<script src="index.js" type="text/javascript"></script>
</body></html>
The inner radius of the progress bar can be customized using innerRadius
property.
var linearProgress1 = new ej.progressbar.ProgressBar({
type: 'Circular',
value: 60,
width: '160px',
height: '160px',
enableRtl: false,
trackColor :'#FFD939',
radius: '100%',
innerRadius: '80%',
progressColor: 'white',
trackThickness: 80,
cornerRadius: 'Round',
progressThickness: 10,
animation: {
enable: true,
duration: 2000,
delay: 0,
},
});
linearProgress1.appendTo('#percentage');
<!DOCTYPE html><html lang="en"><head>
<title>Essential JS 2 Toast</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Typescript Toolbar Controls">
<meta name="author" content="Syncfusion">
<link href="index.css" rel="stylesheet">
<link href="//cdn.syncfusion.com/ej2/20.4.48/material.css" rel="stylesheet">
<script src="https://cdn.syncfusion.com/ej2/20.4.48/dist/ej2.min.js" type="text/javascript"></script>
</head>
<body>
<div id="container">
<div class="row linear-parent">
<div id="percentage"></div>
</div>
</div>
<script>
var ele = document.getElementById('container');
if(ele) {
ele.style.visibility = "visible";
}
</script>
<script src="index.js" type="text/javascript"></script>
</body></html>
We can customize the color of progress and track by using progressColor and trackColor property.
var linearProgress1 = new ej.progressbar.ProgressBar({
type: 'Linear',
height: '60',
width: '90%',
trackThickness: 24,
progressThickness: 24,
cornerRadius: 'Round',
progressColor: '#E3165B',
trackColor: '#F8C7D8',
value: 50,
showProgressValue: true,
labelStyle: {
color: '#FFFFFF'
},
animation: {
enable: true,
duration: 2000,
delay: 0,
},
textRender: (args) => {
args.text = '50';
}
});
linearProgress1.appendTo('#percentage');
<!DOCTYPE html><html lang="en"><head>
<title>Essential JS 2 Toast</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Typescript Toolbar Controls">
<meta name="author" content="Syncfusion">
<link href="index.css" rel="stylesheet">
<link href="//cdn.syncfusion.com/ej2/20.4.48/material.css" rel="stylesheet">
<script src="https://cdn.syncfusion.com/ej2/20.4.48/dist/ej2.min.js" type="text/javascript"></script>
</head>
<body>
<div id="container">
<div class="row linear-parent">
<div id="percentage"></div>
</div>
</div>
<script>
var ele = document.getElementById('container');
if(ele) {
ele.style.visibility = "visible";
}
</script>
<script src="index.js" type="text/javascript"></script>
</body></html>