私はこのコードをオンラインで見つけましたが、それは私が望むことをしません。
function ColorLuminance(hex, lum) {
// validate hex string
hex = String(hex).replace(/[^0-9a-f]/gi, '');
if (hex.length < 6) {
hex = hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];
}
lum = lum || 0;
// convert to decimal and change luminosity
var rgb = "#", c, i;
for (i = 0; i < 3; i++) {
c = parseInt(hex.substr(i*2,2), 16);
c = Math.round(Math.min(Math.max(0, c + (c * lum)), 255)).toString(16);
rgb += ("00"+c).substr(c.length);
}
return rgb;
}
そこで、jQuery を使用して周囲のボックスの背景色を変更します (投票結果 (右側) の背景色に表示されます)。
$(".bar-container").each(function() {
var hexColor = $(this).children(":first").css("background-color");
var bgColor = ColorLuminance(hexColor, .2);
$(this).css({"background-color": bgColor});
});
これは、ドキュメントの準備ができたときに使用されます。
私がやろうとしているのは、実際のポーリングの色 (左からパーセンテージ) を取得し、コンテナー全体の色を少し明るくすることです (基本的な色は同じです)。したがって、パーセンテージ バーが赤の場合、それを含むバーの全体的な背景が紫になるべきではありません。赤の明るい色にする必要があります。
関数が機能していません。ColorLuminance
色が完全に変更されているためです。
この関数を明るい色に変更するにはどうすればよいですか? (できればパーセンテージベースで、lum
パラメーターの目的です)