我正在制作一個基本顏色生成器,根據按下的按鈕生成隨機十六進制或RGB顏色。我已經制作了一個構造函數,它在每次按下按鈕時都會運行,通過一系列方法生成新的顏色,用于生成明暗變化、在顏色空間之間轉換等。
我的UI有三個按鈕:十六進制、轉換和RGB。我目前在事件偵聽器上編寫了代碼,用于在十六進制/RGB之間進行轉換,但如果我可以使用當我單擊十六進制/RGB時生成的相同顏色對象的方法,則會更加簡潔。
目前,當我單擊十六進制或rgb按鈕時,我有以下代碼:
hex.addEventListener (‘click’) function () {
const newColor = new Color();
setStylesHex(newColor);
}
在理想情況下,我可以在translate按鈕(使用上面生成的newColor變量)上執行類似的操作,但我遇到了范圍問題:
trans.addEventListener (‘click’, function() {
if (head.innerText[0] === 1) {
setStylesRGB(newColor);
} else {
setStylesHex(newColor);
}
})
除了在事件偵聽器上為translate按鈕重新生成翻譯程序代碼之外,我還沒有真正嘗試過任何其他操作。我真的很困惑如何獲得我想要的功能,如果能得到任何幫助,我將不勝感激。
將
newColor
的聲明放在兩個函數都可以訪問的范圍中: