如何将颜色百分比更改为RGB
问题描述:
我将我的颜色代码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>
答
你应该只能够在percentToRGB
函数内各地切换g
和r
变量。这是一个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 + ")";
}
我错了try代码切换改变R和G,但我也开关位置+ R + G + B +到+ G + R + B + 谢谢@西蒙 –