我正在使用jQuery创建堆叠条形图一堆DIV。每个堆栈的段用不同的灰色阴影着色。我想在条形图上编码一个额外的全局值,方法是更改div的饱和度,使其颜色从灰色到阴影颜色不等,同时保持相对亮度。显而易见的选择是单独修改每个元素的HSL值。
我是否忽略了一些更巧妙的调整酒吧颜色的方法?我不认为我可以使用容器的背景颜色,因为条形不能透明。
答案 0 :(得分:1)
答案 1 :(得分:0)
我想更清楚地记录答案。按照@ Pheonixblade9的建议,我使用了jQuery颜色插件,但在使其正常工作方面遇到了一些麻烦。
正如我在对@ Pheonixblade9的回答中所指出的那样,改变饱和度的天真解决方案不起作用,因为如果饱和度值变为0,插件将失去色调值,而是使用0代替。为了让它可靠地工作,我向饱和度值引入了一个最小值,这个值足够小,不能在监视器上看到(我希望),但足以防止插件代码丢失色调。
function setSaturation($elem, score, animationDuration) {
var targetColor = $.Color({saturation: Math.max(score, 0.01)});
$elem.animate({backgroundColor: targetColor}, animationDuration);
}