【发布时间】:2013-03-28 20:18:06
【问题描述】:
我制作了一个 HEX 到 RGB 转换的 JSFiddle,但我想知道如何以另一种方式进行(RGB 到 HEX)。
$('#hex').bind('blur keydown', function (event) {
setTimeout(function () {
var rgb = [],
broken = false,
value = $("#hex").val(),
hex = (value+'').replace(/#/, '');
if (value.length === 1 && value !== '#') {
$("#hex").val(value);
}
if (hex.length == 3) hex = hex + hex;
for (var i = 0; i < 6; i+=2) {
rgb.push(parseInt(hex.substr(i,2),16));
broken = broken || rgb[rgb.length - 1].toString() === 'NaN';
}
$('#rgb').val(broken ? '' : 'rgb(' + rgb.join(',') + ')');
}, 13);
});
'#hex' 和 '#rgb' 只是输入:
<input type="text" id="hex" placeholder="hex">
<input type="text" id="rgb" placeholder="rgb">
我也想知道为什么如果我用false 替换broken,我得到一个错误。你知道为什么我不能删除var broken = false 而是用false 替换吗?
【问题讨论】:
-
备注:你的逻辑目前是错误的。
#abc不是#abcabc而是#aabbcc。 -
哦,是吗?我该如何解决?抱歉,我是 JavaScript 新手。
-
我不懂 JavaScript,所以它并没有真正的帮助:/
-
@user2203362:如果您是 JavaScript 新手并且不了解某些内容,请搜索它。通常您会获得指向developer.mozilla.org 的链接,这对于初学者来说是一个很好的资源。
标签: javascript jquery