【发布时间】:2018-02-11 14:52:34
【问题描述】:
JScolor选择器的背景颜色在加载值时不会更新。
我在谷歌上搜索了解决方案,但它们都在 JQuery 中,如下所示:
http://activelab.io/troubleshooting/jscolor-update-background-colours-after-loading-values
和
$('.jscolorinput').each(function()
{
$(this)[0].color.fromString($(this).val());
});
JavaScript 的实现方式是什么?
我现在明白了。 颜色选择器的背景颜色可以通过 document.getElementById('someID').jscolor.valueElement.style.backgroundColor 来评估
但是有一个问题,上面的样式必须是"rbg(aa,bb,cc)"的形式,而JScolor的值是HEX的
因此你需要先编写一个函数来将 HEX 代码转换为正确的形式:
function HEX_rgb (hex){
var a = 'rgb(' + parseInt(hex.substring(0,2), 16) + ", " + parseInt(hex.substring(2,4), 16) + ", " + parseInt(hex.substring(4,6), 16) + ')';
return a;
}
然后改变背景颜色:
document.getElementById('someID').jscolor.valueElement.style.backgroundColor = HEX_rgb(//The HEX code);
顺便说一句,如果你在不改变里面的值的情况下点击和关闭输入框,背景颜色实际上会更新。
【问题讨论】:
标签: javascript jquery jscolor