JavaScript中使用RGB变量修改网页背景色失效如何解决
问题原因及修复方案
你遇到的问题和名为rgb的变量无关,核心是字符串语法使用错误:
- 你当前使用普通单引号
'包裹内容,JS 中普通字符串不会解析${}格式的变量占位符,最终生成的实际值是固定字符串rgb(${redhex}, ${greenhex}, ${bluehex}),而非拼接了变量值的有效色值字符串。 ${}是 JS 模板字符串专属的插值语法,需要用反引号`(键盘 ESC 键下方、数字1键左侧的按键)包裹内容才能生效。
修复代码
document.body.style.backgroundColor = `rgb(${redhex}, ${greenhex}, ${bluehex})`;
额外说明
如果你的redhex、greenhex、bluehex存储的是十六进制字符串(比如ff、3c这类格式),不需要用rgb()格式,直接拼接为十六进制色值即可:
document.body.style.backgroundColor = `#${redhex}${greenhex}${bluehex}`;
内容的提问来源于stack exchange,提问作者leaf
相关产品推荐
相关产品推荐

