1

演示在这里

如果维生素含量低于 0.50%,则用户看不到...需要更改为 1%

在演示中你会看到这个错误

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);
});

感谢帮助)

4

2 回答 2

6

你可以使用Math.max

width: Math.max(this_count, 0.5) + '%'

演示:http: //jsfiddle.net/L5GmR/2/

将小于 0.5 的任何值更改为 1.0 都会使 0.1 看起来大于 0.7,这可能不是您想要的。

这也将使 display 无法显示0,因此您可能想要执行以下操作:

width: (this_count < 0.2 ? 0 : Math.max(this_count, 0.5)) + '%'
于 2013-07-15T23:19:43.030 回答
2

Math.ceil(this_count)

这将把所有东西都凑齐;如果您只需要四舍五入0 .5%,则添加一个 if 语句。

于 2013-07-15T23:26:37.020 回答