如何使颜色选择器默认为 CSS 变量?

How do I make a color picker default to a CSS variable?

提问人:GladDingo 提问时间:9/28/2023 最后编辑:GladDingo 更新时间:9/28/2023 访问量:50

问:

我正在编写一个颜色选择器。我正在尝试弄清楚如何将其默认为CSS变量,然后让它更改有问题的CSS变量。该变量被调用,用于更改背景颜色。--bg

我尝试使用,但没有用。然后我尝试了 ChatGPT 生成的这个 JavaScript 代码:value="var(--bg)"

document.addEventListener('DOMContentLoaded', function() {
    const colorPicker = document.getElementById('bgcolor');
    colorPicker.value = getComputedStyle(document.documentElement).getPropertyValue('--bg').trim();

    colorPicker.addEventListener('input', function() {
        document.documentElement.style.setProperty('--bg', this.value);
    });
});

还是没有。

javascript html css 颜色 颜色选择器

评论


答:

0赞 Xanoor1 9/28/2023 #1

您可以在不使用变量的情况下更改 BG 颜色:

document.addEventListener('DOMContentLoaded', function() {
    const colorPicker = document.getElementById('bgcolor');

    colorPicker.oninput = function() {
        document.body.style.backgroundColor = colorPicker.value;
    };
});

我修改了另一件事,这不是“colorPicker.input”而是“colorPicker.oninput”。

然后我只是使用颜色选择器的值设置背景颜色。