2014-03-24 84 views
0

我正在嘗試編寫一個將三個數字轉換爲三個百分比的小腳本。 jquery可以設置三個彩色div的寬度來反映這些數字的「擴展」。用三個數字創建百分比

把它想象成一個三部分加載欄。

我爲兩部分加載欄製作了一些意大利麪,但我不知道如何添加第三個百分比。有人擅長數學就能夠把三個數字分爲三個百分比出100

http://jsfiddle.net/gzz46/1/

var xwidth = (+x/(+x+y)*100); 
var ywidth = (+100-xwidth); 
//var zwidth = (+100-ywidth); 
+1

你是說你想把3個數字加在一起(它等於100%),然後找到每個數字的百分比?在你的jsfiddle例子中,你的數字是10,15,20。全部加上= 45,分別從45,10/45 = 0.222(或22.22%),15/45 = 0.333(或33.33%),20/45 = .444(或44.44%) – ntgCleaner

+0

您不能只將數字轉換爲百分比。你需要一個數字和一個總值或最大值。然後使用firstNumber/maximumNumber * 100。 –

回答

2

添加他們都= 45,將每個45,四十五分之十= 0.222(或22.22 %),15/45 = .333(或33.33%),20/45 = 0.444(或44.44%)

如果你正在嘗試做我的評論說什麼,改變你的代碼如下:

var x = 10; 
var y = 15; 
var z = 20; 

var total = x+y+z; 

var xwidth = (x/total)*100; 
var ywidth = (y/total)*100; 
var zwidth = (z/total)*100; 

$(".x").css('width', xwidth+'%'); 
$(".y").css('width', ywidth+'%'); 
$(".z").css('width', zwidth+'%'); 

或甚至更乾淨:

var x = 10; 
var y = 15; 
var z = 20; 
var total = x+y+z; 

$(".x").css('width', (x/total)*100+'%'); 
$(".y").css('width', (y/total)*100+'%'); 
$(".z").css('width', (z/total)*100+'%'); 
+0

http://jsfiddle.net/gzz46/4/ –

+0

太棒了。感謝ntgCleaner提供快速,簡潔和簡潔的答案! –

+0

我很高興幫助! – ntgCleaner