2017-10-18 550 views
0

我将我的颜色代码0-70从绿色创建为红色。现在,我想将颜色0 - 70从红色变为绿色。如何将颜色百分比更改为RGB

function percentToRGB(percent) { 
 
    if (percent === 100) { 
 
     percent = 99 
 
    } 
 
    var r, g, b; 
 

 
    if (percent < 50) { 
 
     // green to yellow 
 
     r = Math.floor(255 * (percent/50)); 
 
     g = 255; 
 

 
    } else { 
 
     // yellow to red 
 
     r = 255; 
 
     g = Math.floor(255 * ((50 - percent % 50)/50)); 
 
    } 
 
    b = 0; 
 

 
    return "rgb(" + r + "," + g + "," + b + ")"; 
 
} 
 

 

 
function render(i) { 
 
    var item = "<li style='background-color:" + percentToRGB(i) + "'>" + i + "</li>"; 
 
    $("ul").append(item); 
 
} 
 

 
function repeat(fn, times) { 
 
    for (var i = 0; i < times; i++) fn(i); 
 
} 
 

 

 
repeat(render, 100);
li { 
 
    font-size:8px; 
 
    height:10px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul></ul>

回答

0

你应该只能够在percentToRGB函数内各地切换gr变量。这是一个JSFiddle Link

所以功能将成为:

function percentToRGB(percent) { 
    if (percent === 100) { 
     percent = 99 
    } 
    var r, g, b; 

    if (percent < 50) { 
     // green to yellow 
     g = Math.floor(255 * (percent/50)); 
     r = 255; 

    } else { 
     // yellow to red 
     g = 255; 
     r = Math.floor(255 * ((50 - percent % 50)/50)); 
    } 
    b = 0; 

    return "rgb(" + r + "," + g + "," + b + ")"; 
} 
+0

我错了try代码切换改变R和G,但我也开关位置+ R + G + B +到+ G + R + B + 谢谢@西蒙 –