function setFill(el, perc, use_color) {
var color;
if (use_color !== true) {
color = '#f5f5f5';
} else {
if (perc < 20) {
color = '#F8D7CF';
} else if (perc < 40) {
color = '#FCE5D3';
} else if (perc < 60) {
color = '#F9EED6';
} else if (perc < 80) {
color = '#C4E4E0';
} else if (perc <= 100) {
color = '#C3CCD0';
}
}
$(el)
.css('background', '-webkit-linear-gradient(right, ' + color + ' ' + perc + '%,#ffffff ' + perc + '%)')
.css('background', '-moz-linear-gradient(right, ' + color + ' ' + perc + '%,#ffffff ' + perc + '%)')
.css('background', '-ms-linear-gradient(right, ' + color + ' ' + perc + '%,#ffffff ' + perc + '%)')
.css('background', '-o-linear-gradient(right, ' + color + ' ' + perc + '%,#ffffff ' + perc + '%)')
.css('background', 'linear-gradient(to left, ' + color + ' ' + perc + '%,#ffffff ' + perc + '%)');
}
$('.percentageFill').each(function(i, e){
setFill(e, $(e).data('percentage'), true);
});
.percentageFill{
height:30px;
border:1px solid black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='percentageFill' data-percentage="5">5%</div>
<div class='percentageFill' data-percentage="30">30%</div>
<div class='percentageFill' data-percentage="55">55%</div>
<div class='percentageFill' data-percentage="70">70%</div>
<div class='percentageFill' data-percentage="98">98%</div>