使用开关语句确定div背景颜色

时间:2015-07-04 22:50:14

标签: php

我正在根据预定义的数字(而不是服务器负载百分比)为我的网站建立一个百分比栏。当我使用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是正确的;但它应该是红色,而不是绿色。我在这里做错了什么想法?

谢谢!

2 个答案:

答案 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>

祝你好运,如果您有任何问题 - 请告诉我!