我有用于将HEX值转换为RGB的JavaScript,但我想知道是否可以使用jQuery调用该函数并插入HTML?
这是JavaScript;
function hex2rgb( colour ) {
var r,g,b;
if ( colour.charAt(0) == ‘#’ ) {
colour = colour.substr(1);
}
r = colour.charAt(0) + ” + colour.charAt(1);
g = colour.charAt(2) + ” + colour.charAt(3);
b = colour.charAt(4) + ” + colour.charAt(5);
r = parseInt( r,16 );
g = parseInt( g,16 );
b = parseInt( b ,16);
return “rgb(” + r + “,” + g + “,” + b + “)”;
}
我试图拥有它,因此有一个输入字段,您键入十六进制值,按Enter键,然后插入RGB值(可能是鬼元素或其他内容)。
答案 0 :(得分:2)
有效的十六进制颜色在'#'
之后可以包含3个或 6个字符function hexToRgb(hex){
if(/^#([a-f0-9]{3}){1,2}$/.test(hex)){
if(hex.length== 4){
hex= '#'+[hex[1], hex[1], hex[2], hex[2], hex[3], hex[3]].join('');
}
var c= '0x'+hex.substring(1);
return 'rgb('+[(c>>16)&255, (c>>8)&255, c&255].join(',')+')';
}
}
答案 1 :(得分:1)
HTML:
<input type="text" id="hex-input" placeholder="hex goes here"/>
<button id="magic-button">PUSH ME!</button>
<div id="rgb-output"></div>
JS:
$(document).ready(function() {
$("#magic-button").click(function() {
$("#rgb-output").html(hex2rgb($("#hex-input").val()));
});
$("#hex-input").keyup(function(event){
if(event.keyCode == 13){
$("#magic-button").click();
}
});
});
function hex2rgb( colour ) {
var r,g,b;
if ( colour.charAt(0) == '#' ) {
colour = colour.substr(1);
}
if ( colour.length == 3 ) {
colour = colour.substr(0,1) + colour.substr(0,1) + colour.substr(1,2) + colour.substr(1,2) + colour.substr(2,3) + colour.substr(2,3);
}
r = colour.charAt(0) + '' + colour.charAt(1);
g = colour.charAt(2) + '' + colour.charAt(3);
b = colour.charAt(4) + '' + colour.charAt(5);
r = parseInt( r,16 );
g = parseInt( g,16 );
b = parseInt( b ,16);
return 'rgb(' + r + ',' + g + ',' + b + ')';
}
答案 2 :(得分:-1)
您可以将elementId传递给函数
function hex2rgb( colour, id )
...
$("#"+id).text("rgb(" + r + "," + g + "," + b + ")")
}