vitamins
vitamin fiddle
by Justin
HTML
<div class="vitamins">
<h2>Vitamins</h2>
<div class="vitamin a">
<a href="/vitamin">Vitamin А</a>
<div class="count">0.01 мг</div>
</div>
<div class="vitamin b1">
<a href="/vitamin-b1">Vitamin B1</a>
<div class="count">0.07 мг</div>
</div>
<div class="vitamin b2">
<a href="/vitamin-b2">Vitamin B2</a>
<div class="count">0.05 мг</div>
</div>
<div class="vitamin b4">
<a href="/vitamin-b4">Vitamin B4</a>
<div class="count">8.40 мг</div>
</div>
<div class="vitamin b5">
<a href="/vitamin-b5">Vitamin B5</a>
<div class="count">0.26 мг</div>
</div>
</div>
CSS
* {font-family:Arial;}
.vitamins .vitamin {
float: left;
width: 100%;
margin: 7px 0;
position: relative;
}
.vitamins .vitamin > a {
float: left;
margin: 0 10px 0 0;
width: 140px;
color: #444;
text-decoration: none;
}
.vitamins .vitamin > .count {
float: left;
width: auto;
min-width: 60px;
}
.vitamins .vitamin_amount {
background: #F3F3F3;
text-align: center;
top: 0;
float: left;
left: 50%;
width: 50%;
height: 20px;
position: absolute;
}
.vitamins .vitamin_amount span {
background: #FF8686;
max-width: 100% !important;
float: left;
height: inherit;
text-align: left;
}
JavaScript
var summary_count = 0;
$('.vitamins .vitamin .count').each(function(){
summary_count += parseFloat($(this).text());
});
$('.vitamins .vitamin').each(function() {
var this_count_raw = parseFloat($(this).find('.count').text());
var this_count = parseFloat(this_count_raw / summary_count * 100);
$('<span></span>').appendTo($(this)).css('width', '0').wrap('<div class="vitamin_amount"></div>');
$(this).find('.vitamin_amount span').animate({width: + this_count + '%'}, 2000);
});