<input type="color"/> отдаёт формат цвета в HEX. Для того, чтобы перевести его в функцию RGB (удобна для реализации прозрачности), можно воспользоваться JavaScript ниже:
<script>
function toR(h) { return parseInt((cutHex(h)).substring(0,2),16) }
function toG(h) { return parseInt((cutHex(h)).substring(2,4),16) }
function toB(h) { return parseInt((cutHex(h)).substring(4,6),16) }
function cutHex(h) { return (h.charAt(0)=="#") ? h.substring(1,7) : h}
function changecolor(){
var h = document.getElementById('h').value;
document.getElementById('r').value = toR(h);
document.getElementById('g').value = toG(h);
document.getElementById('b').value = toB(h);
}
function toHEX(r, g, b) { return '#' + ((b | g << 8 | r << 16) | 1 << 24).toString(16).slice(1); }
function changecolor1(){
var r = document.getElementById('r').value;
var g = document.getElementById('g').value;
var b = document.getElementById('b').value;
document.getElementById('h').value = toHEX(r,g,b);
}
</script>
<input id="h" oninput="changecolor();" value="#ff0000" type="text">
<input id="r" oninput="changecolor1();" value="255" type="text">
<input id="g" oninput="changecolor1();" value="0" type="text">
<input id="b" oninput="changecolor1();" value="0" type="text">
Источники: www.javascripter.net, www.cnblogs.com
Комментариев нет: