我想要的是:
- 从元素中获取 RGB 值
- 将其转换为十六进制
- 将其放入文本字段
第一个解决方案:
(取自这个线程RGB to Hex 和 Hex to RGB)
function rgbToHex(r, g, b) {
return "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
}
#aN
问题是:无论我喂它什么,它都只会返回。功能有缺陷还是我做错了什么?
第二种解决方案:
来自与上面提到的同一个帖子。
function componentToHex(c) {
var hex = c.toString(16);
return hex.length == 1 ? "0" + hex : hex;
}
function rgbToHex(r, g, b) {
return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
}
如果我将值作为数字传递,则此方法有效,rgbToHex(255,255,255)
但如果我尝试将数字作为变量提供,则不执行任何操作rgbToHex(rgbValue)
。(参见演示中的第 19 到 25 行)
所有帮助表示赞赏:)