如何停止Javascript代码自动将hsl转换为rgb
P粉806834059
P粉806834059 2024-03-31 16:46:02
0
1
426

我有这段代码,我为一个对象分配颜色,然后使用条件来检查该项目是否已被选择。然而,条件不起作用,因为 javascript(或浏览器)将 hsl 转换为 rgb,这会阻止任何匹配的发生。我想知道是否有办法阻止 JS(或浏览器)的这种行为,如果没有,为什么会发生?

function selecionarNota() {

    if (this.style.backgroundColor == 'hsl(25, 97%, 53%)') { 
        for (let i = 0; i < numAvaliacao.length; i++) {
            numAvaliacao[i].style.backgroundColor = 'hsl(213, 19%, 21%)';
            numAvaliacao[i].style.color = 'hsl(217, 12%, 63%)';
        }

    } else {

        for (let i = 0; i < numAvaliacao.length; i++) {
            numAvaliacao[i].style.backgroundColor = 'hsl(213, 19%, 21%)';
            numAvaliacao[i].style.color = 'hsl(217, 12%, 63%)';
        }

        this.style.backgroundColor = 'hsl(25, 97%, 53%)';
        this.style.color = 'white';

    }
}

我确实意识到我可以通过在代码中使用 rgb 来解决这个问题。但我真的很想了解为什么会发生这种情况。

P粉806834059
P粉806834059

全部回复(1)
P粉076987386

发生这种情况是因为它是浏览器的标准。

我建议使用这些颜色创建 css 类并在 javascript 中应用这些类。然后,您可以在条件中使用 element.classList.contains(class)

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板