Я сделал JSFiddle преобразования HEX в RGB, но мне интересно, как я могу сделать это по-другому (RGB to HEX).RGB to HEX Conversion JavaScript
$('#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">
Я также задаюсь вопросом, почему, если я должен был заменить broken
с false
, я получаю сообщение об ошибке. Вы знаете, почему я не могу удалить var broken = false
и просто заменить на false
?
Примечание: Ваша логика в настоящее время не так. '# abc' не' # abcabc', а '# aabbcc'. – Zeta
О, не так ли? Как я могу это исправить? К сожалению, я новичок в JavaScript. – user2203362
см. Http://stackoverflow.com/q/5623838/989121 – georg