You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

颜色选择脚本中current_color对象的rgb属性值异常固定问题求助

颜色选择脚本中current_color对象的rgb属性值异常固定问题求助

各位好,我做了一个网页颜色调试工具,支持用户通过HSL或RGB滑块来调整颜色效果。但最近碰到一个很诡异的问题:当我用RGB滑块调出某个和CSS预定义颜色名匹配的颜色,或者直接通过最右侧的下拉列表选择一个预定义颜色名称后,current_color对象的rgb属性就像被“粘住”一样固定在对应的值上,后续再拖动滑块调整颜色,这个属性也没办法正常更新了。

我已经把页面的XHTML代码放在对应的页面中,下面是完整的JavaScript文件代码:

const colour_names = {
    '000000': {'rgb': [0,0,0], 'hsl': [0,0,0]}, //'Black'
    '000080': {'rgb': [0,0,128], 'hsl': [240,100,25]}, //'Navy'
    '00008B': {'rgb': [0,0,139], 'hsl': [240,100,27]}, //'DarkBlue'
    '0000CD': {'rgb': [0,0,205], 'hsl': [240,100,40]}, //'MediumBlue'
    '0000FF': {'rgb': [0,0,255], 'hsl': [240,100,50]}, //'Blue'
    '006400': {'rgb': [0,100,0], 'hsl': [120,100,20]}, //'DarkGreen'
    '008000': {'rgb': [0,128,0], 'hsl': [120,100,25]}, //'Green'
    '008080': {'rgb': [0,128,128], 'hsl': [180,100,25]}, //'Teal'
    '008B8B': {'rgb': [0,139,139], 'hsl': [180,100,27]}, //'DarkCyan'
    '00BFFF': {'rgb': [0,191,255], 'hsl': [195,100,50]}, //'DeepSkyBlue'
    '00CED1': {'rgb': [0,206,209], 'hsl': [181,100,41]}, //'DarkTurquoise'
    '00FA9A': {'rgb': [0,250,154], 'hsl': [157,100,49]}, //'MediumspringGreen'
    '00FF00': {'rgb': [0,255,0], 'hsl': [120,100,50]}, //'Lime'
    '00FF7F': {'rgb': [0,255,127], 'hsl': [150,100,50]}, //'SpringGreen'
    '00FFFF': {'rgb': [0,255,255], 'hsl': [180,100,50]}, //'Cyan,Aqua'
    '191970': {'rgb': [25,25,112], 'hsl': [240,64,27]}, //'MidnightBlue'
    '1E90FF': {'rgb': [30,144,255], 'hsl': [210,100,56]}, //'DodgerBlue'
    '20B2AA': {'rgb': [32,178,170], 'hsl': [177,70,41]}, //'LightseaGreen'
    '228B22': {'rgb': [34,139,34], 'hsl': [120,61,34]}, //'ForestGreen'
    '2E8B57': {'rgb': [46,139,87], 'hsl': [146,50,36]}, //'SeaGreen'
    '2F4F4F': {'rgb': [47,79,79], 'hsl': [180,25,25]}, //'DarkSlateGray,DarkSlateGrey'
    '32CD32': {'rgb': [50,205,50], 'hsl': [120,61,50]}, //'LimeGreen'
    '3CB371': {'rgb': [60,179,113], 'hsl': [147,50,47]}, //'MediumseaGreen'
    '40E0D0': {'rgb': [64,224,208], 'hsl': [174,72,56]}, //'Turquoise'
    '4169E1': {'rgb': [65,105,225], 'hsl': [225,73,57]}, //'RoyalBlue'
    '4682B4': {'rgb': [70,130,180], 'hsl': [207,44,49]}, //'SteelBlue'
    '483D8B': {'rgb': [72,61,139], 'hsl': [248,39,39]}, //'DarkSlateBlue'
    '48D1CC': {'rgb': [72,209,204], 'hsl': [178,60,55]}, //'Mediumturquoise'
    '4B0082': {'rgb': [75,0,130], 'hsl': [275,100,25]}, //'Indigo'
    '556B2F': {'rgb': [85,107,47], 'hsl': [82,39,30]}, //'DarkOliveGreen'
    '5F9EA0': {'rgb': [95,158,160], 'hsl': [182,25,50]}, //'CadetBlue'
    '663399': {'rgb': [102,51,153], 'hsl': [270,50,40]}, //'Rebeccapurple'
    '6495ED': {'rgb': [100,149,237], 'hsl': [219,79,66]}, //'CornflowerBlue'
    '66CDAA': {'rgb': [102,205,170], 'hsl': [160,51,60]}, //'Mediumaquamarine'
    '696969': {'rgb': [105,105,105], 'hsl': [0,0,41]}, //'DimGray,DimGrey'
    '6A5ACD': {'rgb': [106,90,205], 'hsl': [248,53,58]}, //'SlateBlue'
    '6B8E23': {'rgb': [107,142,35], 'hsl': [80,60,35]}, //'Olivedrab'
    '708090': {'rgb': [112,128,144], 'hsl': [210,13,50]}, //'SlateGray,SlateGrey'
    '778899': {'rgb': [119,136,153], 'hsl': [210,14,53]}, //'LightSlateGray,LightSlateGrey'
    '7B68EE': {'rgb': [123,104,238], 'hsl': [249,80,67]}, //'MediumSlateBlue'
    '7CFC00': {'rgb': [124,252,0], 'hsl': [90,100,49]}, //'LawnGreen'
    '7FFF00': {'rgb': [127,255,0], 'hsl': [90,100,50]}, //'Chartreuse'
    '7FFFD4': {'rgb': [127,255,212], 'hsl': [160,100,75]}, //'Aquamarine'
    '800000': {'rgb': [128,0,0], 'hsl': [0,100,25]}, //'Maroon'
    '800080': {'rgb': [128,0,128], 'hsl': [300,100,25]}, //'Purple'
    '808000': {'rgb': [128,128,0], 'hsl': [60,100,25]}, //'Olive'
    '808080': {'rgb': [128,128,128], 'hsl': [0,0,50]}, //'Gray,Grey'
    '87CEEB': {'rgb': [135,206,235], 'hsl': [197,71,73]}, //'SkyBlue'
    '87CEFA': {'rgb': [135,206,250], 'hsl': [203,92,75]}, //'LightSkyBlue'
    '8A2BE2': {'rgb': [138,43,226], 'hsl': [271,76,53]}, //'BlueViolet'
    '8B0000': {'rgb': [139,0,0], 'hsl': [0,100,27]}, //'DarkRed'
    '8B008B': {'rgb': [139,0,139], 'hsl': [300,100,27]}, //'DarkMagenta'
    '8B4513': {'rgb': [139,69,19], 'hsl': [25,76,31]}, //'Saddlebrown'
    '8FBC8F': {'rgb': [143,188,143], 'hsl': [120,25,65]}, //'DarkSeaGreen'
    '90EE90': {'rgb': [144,238,144], 'hsl': [120,73,75]}, //'LightGreen'
    '9370D8': {'rgb': [147,112,216], 'hsl': [260,57,64]}, //'Mediumpurple'
    '9400D3': {'rgb': [148,0,211], 'hsl': [282,100,41]}, //'DarkViolet'
    '98FB98': {'rgb': [152,251,152], 'hsl': [120,93,79]}, //'PaleGreen'
    '9932CC': {'rgb': [153,50,204], 'hsl': [280,61,50]}, //'DarkOrchid'
    '9ACD32': {'rgb': [154,205,50], 'hsl': [80,61,50]}, //'YellowGreen'
    'A0522D': {'rgb': [160,82,45], 'hsl': [19,56,40]}, //'Sienna'
    'A52A2A': {'rgb': [165,42,42], 'hsl': [0,59,41]}, //'Brown'
    'A9A9A9': {'rgb': [169,169,169], 'hsl': [0,0,66]}, //'DarkGray,DarkGrey'
    'ADD8E6': {'rgb': [173,216,230], 'hsl': [195,53,79]}, //'LightBlue'
    'ADFF2F': {'rgb': [173,255,47], 'hsl': [84,100,59]}, //'GreenYellow'
    'AFEEEE': {'rgb': [175,238,238], 'hsl': [180,65,81]}, //'Paleturquoise'
    'B0C4DE': {'rgb': [176,196,222], 'hsl': [214,41,78]} //'LightSteelBlue'
};

我已经排查了好一阵子,但还是没找到问题的根源。有没有大佬能帮忙分析下,到底是哪里的逻辑出了问题,导致current_color.rgb属性被固定住无法更新呢?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 08:13:07