我正在根据预定义的数字(而不是服务器负载百分比)为我的网站建立一个百分比栏。当我使用switch
语句来确定颜色(基于"百分比范围")时,它具有正确的百分比,但颜色错误。
我的php
$max = 250000;
$heat = 200000; //$_SESSION['warrents'];
$percent[0] = ($heat / $max) * 100;
if ($percent[0] > 100) { $percent[0] = 100; }
switch ($percent[1]) {
case ($percent[0] < 25):
$percent[1] = "green";
break;
case ($percent[0] >= 25 && $percent[0] <50):
$percent[1] = "yellow";
break;
case ($percent[0] >= 50 && $percent[0] <75):
$percent[1] = "orange";
break;
case ($percent[0] >= 75):
$percent[1] = "red";
break;
}
echo $percent[0]." ".$percent[1];
echo
说 80绿色
80是正确的;但它应该是红色,而不是绿色。我在这里做错了什么想法?
谢谢!
答案 0 :(得分:0)
当然,当我发布这个时,我发现了我的问题:
switch ($percent[1]) {
应该是
switch ($percent[0]) {
感谢那些看过的人!
答案 1 :(得分:0)
我现在正在工作的网站上需要一个百分比栏;它目前在我的开发领域,所以你可以check it out看到你自己(你可以看看你想要的)。
以下代码将采用百分比值并从红色 - 琥珀色 - 绿色返回颜色值:
function getColorFromPercent(percent) {
colors = [
'FF0000',
'FF1000',
'FF2000',
'FF3000',
'FF4000',
'FF5000',
'FF6000',
'FF7000',
'FF8000',
'FF9000',
'FFA000',
'FFB000',
'FFC000',
'FFD000',
'FFE000',
'FFF000',
'FFFF00',
'F0FF00',
'E0FF00',
'D0FF00',
'C0FF00',
'B0FF00',
'A0FF00',
'90FF00',
'80FF00',
'70FF00',
'60FF00',
'50FF00',
'40FF00',
'30FF00',
'20FF00',
'10FF00'
];
return '#' + colors.reverse()[Math.floor(parseFloat(percent) / (100 / colors.length))];
}
document.getElementById('test').style.backgroundColor = getColorFromPercent('23.8%');
<div id="test">23.8%</div>
祝你好运,如果您有任何问题 - 请告诉我!