我有下面的代碼來計算各元素的比例(如投票表決系統):計算百分比
$(document).ready(function() {
$("#percentage").click(function() {
var number, sumNumbers = 0, newPercent;
$(".item").each(function() {
number = $(this).children(".itemNum").text();
number = +number;
sumNumbers += number;
if(sumNumbers != 0) {
newPercent = (number/sumNumbers) * 100;
} else {
newPercent = 0;
}
$(this).children(".percentage").text(newPercent+"%");
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item">
<span class="itemNum">0</span> <span class="percentage"></span>
</div>
<div class="item">
<span class="itemNum">2</span> <span class="percentage"></span>
</div>
<div class="item">
<span class="itemNum">1</span> <span class="percentage"></span>
</div>
<button id="percentage">Calculate Percentage!</button>
但是,結果是:
0 0%
2 100%
1 33.33333333333333%
那麼,如何計算返回以下結果呢?
0 0%
2 66.66666666666667%
1 33.33333333333333%
我需要這些結果在我的輪詢系統上做一個進度條,所以,如何做到這一點?
你必須先得到款項,然後才能計算出百分比。 – Musa
所以,我必須在第一個'.each'之前做其他'$(「。item」)。我做到了這一點,它的工作原理,但我不知道是否正確使用類似於:$(「。item」)。each(function(){doSomething()}); $(「。item」)。each(function(){doSomethingAgain()});'@Musa – Igor
@Igor我編輯了我的答案以回答* .each()*註釋。 –