簡體   English   中英

條形寬度的Javascript百分比計算

[英]Javascript percentage calculation for bar width

我需要計算當前值的百分比以將其附加到條形寬度:

<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%,並根據它計算其他條形寬度的百分比。

謝謝!

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) + '%';
});

http://jsfiddle.net/8nmhY/

這應該這樣做:(小提琴

var max = 0; 

$('.bar-inside').each(function(){ max = Math.max(max, $(this).data("value")); });

使用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 = -Infinity;

var maxEle = $(".bar").each(function() {
    if (+this.attr('data-value') > max) +this.attr('data-value', max) ;
}).filter(function() {
    return this.attr('data-value') == max;
});


if (maxEle.length > 1) maxEle = maxEle.eq(Math.floor(Math.random() * maxEle.length));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM