改进Javascript十六进制颜色的明暗度算法

改进Javascript十六进制颜色的明暗度算法,javascript,algorithm,Javascript,Algorithm,我需要一些帮助来找到为什么这个黑暗/光明算法Javascript十六进制颜色在某些情况下会失败,请运行代码段,我想了解为什么它会失败,而不仅仅是有一个解决方案,因为我将使用一个新的算法与hls颜色+% 函数相似颜色(十六进制,百分比){ 控制台日志(十六进制); var a=parseInt(十六进制子串(1,3),16); var b=parseInt(十六进制子串(3,5),16); var c=parseInt(十六进制子串(5,6),16); a=parseInt(a*(100+)/1

我需要一些帮助来找到为什么这个黑暗/光明算法Javascript十六进制颜色在某些情况下会失败,请运行代码段,我想了解为什么它会失败,而不仅仅是有一个解决方案,因为我将使用一个新的算法与hls颜色+%

函数相似颜色(十六进制,百分比){
控制台日志(十六进制);
var a=parseInt(十六进制子串(1,3),16);
var b=parseInt(十六进制子串(3,5),16);
var c=parseInt(十六进制子串(5,6),16);
a=parseInt(a*(100+)/100);
b=parseInt(b*(100+)/100);
c=parseInt(c*(100+)/100);
a=(a我的坏,

在本例中,错误是因为代码缺少十六进制桶的最后一个字符。var C是7=蓝色,但应该是7C=黑绿色。固定行:
var C=parseInt(hex.substring(5,7),16);

算法应该做什么?您的算法有什么问题吗?可能是var C=parseInt(hex.substring(5,7),16)是的,我的错,谢谢