javascript - 从绿色到红色取决于百分比

标签 javascript

我有一个民意测验系统,我想为这个民意测验的答案着色。 例如:如果它是 10%,它将是红色,如果是 40%,它将是黄色,如果是 80%,它将是绿色,所以我希望我的 javascript 代码使用 rgb 颜色根据给定的百分比制作颜色。

function hexFromRGB(r, g, b) {
    var hex = [
        r.toString( 16 ),
        g.toString( 16 ),
        b.toString( 16 )
    ];
    $.each( hex, function( nr, val ) {
        if ( val.length === 1 ) {
            hex[ nr ] = "0" + val;
        }
    });
    return hex.join( "" ).toUpperCase();
}  

现在我想要百分比的十六进制。

最佳答案

使用 HSL 和 fiddle 的简单方案:

function getColor(value){
    //value from 0 to 1
    var hue=((1-value)*120).toString(10);
    return ["hsl(",hue,",100%,50%)"].join("");
}

根据需要调整饱和度和亮度。和一个 fiddle .

function getColor(value) {
  //value from 0 to 1
  var hue = ((1 - value) * 120).toString(10);
  return ["hsl(", hue, ",100%,50%)"].join("");
}
var len = 20;
for (var i = 0; i <= len; i++) {
  var value = i / len;
  var d = document.createElement('div');
  d.textContent = "value=" + value;
  d.style.backgroundColor = getColor(value);
  document.body.appendChild(d);
}

关于javascript - 从绿色到红色取决于百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7128675/

相关文章:

javascript - 如何在 React js 中使文本框第一个值不可编辑?

javascript - Canvas.js 圆环图厚度

javascript - mapStateToProps 未在更改时更新组件

javascript - 自动将文本内容拆分为偶数列

javascript - 在崩溃之前检测浏览器中的内存耗尽

javascript - CSS/JS 选项卡在点击时没有响应

javascript - 从 Javascript 中的嵌套函数返回值

c# - 从客户端调用代码隐藏(安全页面)中的方法(JavaScript)

javascript - Angular JS 动态模型

javascript - 从头像获取图片地址