Процентное вычисление Javascript для ширины бара
Мне нужно вычислить процент текущих значений, чтобы прикрепить его к ширине баров:
<div class="bar"><span class="bar-inside" data-value="120"></span></div>
<div class="bar"><span class="bar-inside" data-value="1320"></span></div>
<div class="bar"><span class="bar-inside" data-value="670"></span></div>
Мне нужно найти максимальное значение (в данном случае это будет 1320), которое будет 100% и в зависимости от этого вычислить ширину других баров в процентах.
Спасибо!
4 ответа:
var max = 0; $('.bar').each(function() { max = Math.max(max, $('.bar-inside', this).data('value')); }) .css('width', function() { return ($('.bar-inside', this).data('value') * 100 / max) + '%'; });
Используйте функцию
map
, а затемMath.max
.var values = $.map($("span.bar-inside"), function(el, index) { return parseInt($(el).data('value')); }); var max = Math.max.apply(null, values);
Выше выведет
1320
ожидаемый результат.
Это должно сделать: (скрипка)
var max = 0; $('.bar-inside').each(function(){ max = Math.max(max, $(this).data("value")); });