JSFiddle - React, Tailwind, and code Playground
by kougiland
HTML
<ul id="color_picker">
<li>
<span>Red</span>
<input type="range" value="50" id="red" name="points" min="0" onchange="r_value.value=value" max="255">
<output id="r_value">50</output>
</li>
<li>
<span>Green</span>
<input type="range" value="150" id="green" name="points" min="0" onchange="g_value.value=value" max="255">
<output id="g_value">150</output>
</li>
<li>
<span>Blue</span>
<input type="range" value="250" id="blue" name="points" min="0" onchange="b_value.value=value" max="255">
<output id="b_value">250</output>
</li>
<li>
<span>opacity</span>
<input type="range" value="1" id="opacity" name="points" min="0" onchange="a_value.value=value" max="1">
<output id="a_value">1</output>
</li>
</ul>
CSS
html, body {
height: 300px;
width: 100%;
margin: 0; padding: 0;
}
li {
margin: 20px 0;
}
li input {width: 255px;}
#color_picker {
margin: 50px auto;
width: 430px;
padding: 10px 40px;
background: rgba(0,0,0,0.2);
border-radius: 5px;
box-shadow: inset 0px 1px 2px 0px rgba(0,0,0,0.4);
list-style: none;
}
output, span {
height: 30px;
width: 80px;
background: rgba(255,255,255,0.5);
padding: 6px 12px;
font-size: 12px;
text-align: center;
border-radius: 5px;
font-family: Arial, sans-serif;
position: relative;
top: -7px;
margin-left: 20px;
}
span {
margin-left: 0;
width: 50px;
margin-right: 20px;
height: 16px;
display: inline-block;
}
JavaScript
(function() {
function colorPicker() {
var red = document.getElementById('red').value;
var green = document.getElementById('green').value;
var blue = document.getElementById('blue').value;
var opacity = document.getElementById('opacity').value;
document.getElementById('color_picker').style.backgroundColor = 'rgba('+red+', '+green+', '+blue+', '+opacity+')';
}
colorPicker();
var input_list = $('#color_picker');
for (var i = 0; i < input_list.length; i++) {
input_list[i]
.addEventListener('change', colorPicker, false);
}
})();