如何停止Javascript程式碼自動將hsl轉換為rgb
P粉806834059
P粉806834059 2024-03-31 16:46:02
0
1
473

我有這段程式碼,我為一個物件分配顏色,然後使用條件來檢查該項目是否已被選擇。然而,條件不起作用,因為 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)

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板