我發現這個代碼在網上,但它不會做我想做的。十六進制轉換到一個打火機十六進制顏色
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
參數)
好了,哇,沒有意識到這是重新調整搶奪元素'backgroundColor'的jQuery的方法的RGB值。問題現在已經解決了。謝謝 :) –